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>
This commit is contained in:
parent
4a5dc0988a
commit
a4dc39beb4
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue