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.h"
|
||||||
#include "target/target_type.h"
|
#include "target/target_type.h"
|
||||||
#include "helper/log.h"
|
#include "helper/log.h"
|
||||||
|
#include "helper/types.h"
|
||||||
#include "rtos.h"
|
#include "rtos.h"
|
||||||
#include "helper/log.h"
|
|
||||||
#include "rtos_standard_stackings.h"
|
#include "rtos_standard_stackings.h"
|
||||||
#include <target/register.h>
|
#include <target/register.h>
|
||||||
#include "server/gdb_server.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;
|
unsigned int i;
|
||||||
*symbol_list = (symbol_table_elem_t *)
|
*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];
|
(*symbol_list)[i].symbol_name = linux_symbol_list[i];
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue