diff options
author | daniel-k <github@daniel-krebs.net> | 2015-10-14 17:30:57 +0200 |
---|---|---|
committer | Freddie Chopin <freddie.chopin@gmail.com> | 2015-11-03 21:58:50 +0000 |
commit | 9bf5309ec7b343cc304f6c72d165003e1e096b29 (patch) | |
tree | 9c2ed01ead5d00be6eae1a93de1ca97ce84077f1 /src/rtos | |
parent | 951061c972a58215403b86b36dbbdb9de7f3dfad (diff) | |
download | riscv-openocd-9bf5309ec7b343cc304f6c72d165003e1e096b29.zip riscv-openocd-9bf5309ec7b343cc304f6c72d165003e1e096b29.tar.gz riscv-openocd-9bf5309ec7b343cc304f6c72d165003e1e096b29.tar.bz2 |
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 <github@daniel-krebs.net>
Reviewed-on: http://openocd.zylin.com/3017
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
Diffstat (limited to 'src/rtos')
-rw-r--r-- | src/rtos/mqx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/rtos/mqx.c b/src/rtos/mqx.c index 0ba462c..272658c 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 */ |