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