]> git.sur5r.net Git - openocd/commitdiff
rtos: better sanity checking for uCOS-III
authorSteven Stallion <stallion@squareup.com>
Thu, 22 Jun 2017 05:14:08 +0000 (22:14 -0700)
committerFreddie Chopin <freddie.chopin@gmail.com>
Fri, 30 Jun 2017 20:23:47 +0000 (21:23 +0100)
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 <stallion@squareup.com>
Reviewed-on: http://openocd.zylin.com/4166
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
src/rtos/uCOS-III.c

index 9021167dbca38f3ca035db0168234ecec646139e..0a0fb3e9e7e785f56cebe6dfe6ebbead2dd3b33d 100644 (file)
@@ -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) {