rtos: check symbol list when updating uCOS-III 19/4719/2
authorSteven Stallion <stallion@squareup.com>
Tue, 9 Oct 2018 18:48:18 +0000 (13:48 -0500)
committerMatthias Welwarsky <matthias@welwarsky.de>
Tue, 16 Oct 2018 10:59:11 +0000 (11:59 +0100)
This patch corrects a crash in uCOS-III on a new GDB connection when
RTOS autodetection is not used. The crash was caused by not checking if
the symbol list had been loaded prior to updating threads.

Change-Id: I64c5133e02fe22fc8d14584cc40d87b49c935b0b
Signed-off-by: Steven Stallion <stallion@squareup.com>
Reviewed-on: http://openocd.zylin.com/4719
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
src/rtos/uCOS-III.c

index 3cd9c2a..304d07c 100644 (file)
@@ -300,6 +300,11 @@ static int uCOS_III_update_threads(struct rtos *rtos)
        struct uCOS_III_params *params = rtos->rtos_specific_params;
        int retval;
 
+       if (rtos->symbols == NULL) {
+               LOG_ERROR("uCOS-III: symbol list not loaded");
+               return ERROR_FAIL;
+       }
+
        /* free previous thread details */
        rtos_free_threadlist(rtos);