aboutsummaryrefslogtreecommitdiff
path: root/src/rtos
diff options
context:
space:
mode:
authorMatthias Blaicher <matthias@blaicher.com>2012-10-27 16:00:12 +0200
committerPeter Stuge <peter@stuge.se>2012-10-27 17:25:04 +0000
commita4dc39beb4c5678476d40e4e13f0a79d45145460 (patch)
tree7608314dc940da03e6696eb4bd35aaf569d9eaf2 /src/rtos
parent4a5dc0988ac91d1b5e63a28688edc2c6e890c179 (diff)
rtos: Fix wrong allocation in linux_get_symbol_list_to_lookup
linux_get_symbol_list_to_lookup allocates to few memory. On 64 bit systems the error did not show due to char* being twice its size, leaving accidentally enough space. This patch makes linux_get_symbol_list_to_lookup behave identical to all other RTOS. Change-Id: I290ea241fb20b65585c8be14609a92fdbd2a307d Signed-off-by: Matthias Blaicher <matthias@blaicher.com> Reviewed-on: http://openocd.zylin.com/934 Tested-by: jenkins Reviewed-by: Peter Stuge <peter@stuge.se>
Diffstat (limited to 'src/rtos')
-rw-r--r--src/rtos/linux.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/rtos/linux.c b/src/rtos/linux.c
index ba65558e..3f1b214b 100644
--- a/src/rtos/linux.c
+++ b/src/rtos/linux.c
@@ -28,8 +28,8 @@
#include "target/target.h"
#include "target/target_type.h"
#include "helper/log.h"
+#include "helper/types.h"
#include "rtos.h"
-#include "helper/log.h"
#include "rtos_standard_stackings.h"
#include <target/register.h>
#include "server/gdb_server.h"
@@ -326,9 +326,9 @@ static int linux_get_symbol_list_to_lookup(symbol_table_elem_t *symbol_list[])
{
unsigned int i;
*symbol_list = (symbol_table_elem_t *)
- malloc(sizeof(symbol_table_elem_t) / sizeof(char *));
+ malloc(sizeof(symbol_table_elem_t) * ARRAY_SIZE(linux_symbol_list));
- for (i = 0; i < sizeof(linux_symbol_list) / sizeof(char *); i++)
+ for (i = 0; i < ARRAY_SIZE(linux_symbol_list); i++)
(*symbol_list)[i].symbol_name = linux_symbol_list[i];
return 0;