]> git.sur5r.net Git - openocd/commitdiff
rtos/mqx: Fix uninitialized parts of symbol table
authordaniel-k <github@daniel-krebs.net>
Wed, 14 Oct 2015 15:30:57 +0000 (17:30 +0200)
committerFreddie Chopin <freddie.chopin@gmail.com>
Tue, 3 Nov 2015 21:58:50 +0000 (21:58 +0000)
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 <github@daniel-krebs.net>
Reviewed-on: http://openocd.zylin.com/3017
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
src/rtos/mqx.c

index 0ba462c9a7b5f7723a8db4e9d5b9ed4ba897beeb..272658c8a53e265707d9894e7752995ad0670d04 100644 (file)
@@ -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 */