From: Steven Stallion Date: Thu, 22 Jun 2017 05:14:08 +0000 (-0700) Subject: rtos: better sanity checking for uCOS-III X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0e4fbfba03e7453846e75b2a54a8b8a6613dbb1e;p=openocd rtos: better sanity checking for uCOS-III This patch improves the OSRunning check. If the rtos_running check fails, update_threads will return an error rather than attempt to update the thread list using bad values. Change-Id: I8614c325504d3a9ab19aebb6862b1fe445a0c8e7 Signed-off-by: Steven Stallion Reviewed-on: http://openocd.zylin.com/4166 Tested-by: jenkins Reviewed-by: Andreas Fritiofson --- diff --git a/src/rtos/uCOS-III.c b/src/rtos/uCOS-III.c index 9021167d..0a0fb3e9 100644 --- a/src/rtos/uCOS-III.c +++ b/src/rtos/uCOS-III.c @@ -300,6 +300,11 @@ static int uCOS_III_update_threads(struct rtos *rtos) return retval; } + if (rtos_running != 1 && rtos_running != 0) { + LOG_ERROR("uCOS-III: invalid RTOS running value"); + return ERROR_FAIL; + } + if (!rtos_running) { rtos->thread_details = calloc(1, sizeof(struct thread_detail)); if (rtos->thread_details == NULL) {