This is an automated email from Gerrit.

Paul Fertser (fercer...@gmail.com) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/521

-- gerrit

commit b0f53266ef9ef58502b7e367993a09c07a5ff855
Author: Paul Fertser <fercer...@gmail.com>
Date:   Wed Mar 14 09:42:31 2012 +0300

    rtos: add sanity checking for FreeRTOS's quantity of priorities
    
    On operating systems with opportunistic malloc() (e.g. default setting in
    GNU/Linux) malloc can sometimes allocate a huge memory region but later the
    process will get killed on the first attempt to use this memory, so
    checking for malloc's return value is not enough to prevent a crash.
    
    This patch is compile-tested only.
    
    Change-Id: I5e21663115c8e9a0ca9f3d71f7ba4bd09e5c3bb1
    Signed-off-by: Paul Fertser <fercer...@gmail.com>

diff --git a/src/rtos/FreeRTOS.c b/src/rtos/FreeRTOS.c
index f5765cb..5628d2a 100644
--- a/src/rtos/FreeRTOS.c
+++ b/src/rtos/FreeRTOS.c
@@ -30,6 +30,8 @@
 #include "helper/log.h"
 #include "rtos_standard_stackings.h"
 
+#define FREERTOS_MAX_PRIORITIES        63
+
 #define FreeRTOS_STRUCT(int_type, ptr_type, list_prev_offset)
 
 struct FreeRTOS_params {
@@ -220,6 +222,11 @@ static int FreeRTOS_update_threads(struct rtos *rtos)
                        (uint8_t *)&max_used_priority);
        if (retval != ERROR_OK)
                return retval;
+       if (max_used_priority > FREERTOS_MAX_PRIORITIES) {
+               LOG_ERROR("FreeRTOS maximum used priority is unreasonably big, 
not proceeding: %lld\r\n",
+                       max_used_priority);
+               return ERROR_FAIL;
+       }
 
        symbol_address_t *list_of_lists =
                (symbol_address_t *)malloc(sizeof(symbol_address_t) *

-- 

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to