]> www.infradead.org Git - users/borneoa/openocd-next.git/commitdiff
rtos/linux: handle OOM in `linux_gdb_thread_packet()`
authorEvgeniy Naydanov <evgeniy.naydanov@syntacore.com>
Fri, 14 Feb 2025 16:30:55 +0000 (19:30 +0300)
committerTomas Vanek <vanekt@fbl.cz>
Sun, 9 Mar 2025 03:18:31 +0000 (03:18 +0000)
Return an error in case `calloc()` fails.

Change-Id: Id1b758a1edbae3d71d625d1992579b99720d77d6
Signed-off-by: Evgeniy Naydanov <evgeniy.naydanov@syntacore.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8762
Tested-by: jenkins
Reviewed-by: zapb <dev@zapb.de>
src/rtos/linux.c

index 5467988f3e761922c4e299937fe5fb44e92bda4e..91d9a39f24b90115ba611ff299f2b32db34d1c84 100644 (file)
@@ -1040,6 +1040,10 @@ static int linux_gdb_thread_packet(struct target *target,
                return ERROR_TARGET_FAILURE;
 
        char *out_str = calloc(MAX_THREADS * 17 + 10, 1);
+       if (!out_str) {
+               LOG_ERROR("Out of memory");
+               return ERROR_FAIL;
+       }
        char *tmp_str = out_str;
        tmp_str += sprintf(tmp_str, "m");
        struct threads *temp = linux_os->thread_list;