From 0e4fbfba03e7453846e75b2a54a8b8a6613dbb1e Mon Sep 17 00:00:00 2001 From: Steven Stallion Date: Wed, 21 Jun 2017 22:14:08 -0700 Subject: [PATCH] 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 --- src/rtos/uCOS-III.c | 5 +++++ 1 file changed, 5 insertions(+) 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) { -- 2.39.2