From: daniel-k Date: Wed, 14 Oct 2015 15:30:57 +0000 (+0200) Subject: rtos/mqx: Fix uninitialized parts of symbol table X-Git-Tag: v0.10.0-rc1~404 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=9bf5309ec7b343cc304f6c72d165003e1e096b29;p=openocd rtos/mqx: Fix uninitialized parts of symbol table Memory for the symbol table was allocated by malloc but not initialized other than with the symbol name. Therefore `address` and `optional` members were having arbitrary values leading to every symbol being optional most of the time which messes up RTOS auto-detection. Memory will now be zero-initialized as in other RTOS implementations. Change-Id: I6c6e31ec1ef7e043061adf8c695b2139620e005d Signed-off-by: Daniel Krebs Reviewed-on: http://openocd.zylin.com/3017 Tested-by: jenkins Reviewed-by: Freddie Chopin --- diff --git a/src/rtos/mqx.c b/src/rtos/mqx.c index 0ba462c9..272658c8 100644 --- a/src/rtos/mqx.c +++ b/src/rtos/mqx.c @@ -544,7 +544,7 @@ static int mqx_get_thread_reg_list( /* API function, export list of required symbols */ static int mqx_get_symbol_list_to_lookup(symbol_table_elem_t *symbol_list[]) { - *symbol_list = malloc(sizeof(symbol_table_elem_t) * ARRAY_SIZE(mqx_symbol_list)); + *symbol_list = calloc(ARRAY_SIZE(mqx_symbol_list), sizeof(symbol_table_elem_t)); if (NULL == *symbol_list) return ERROR_FAIL; /* export required symbols */