forked from Imagelibrary/binutils-gdb
free read_symbol_name string
read_symbol_name mallocs the string it returns. Free it when done. * read.c (read_symbol_name): Free name on error path. * config/tc-ppc.c (ppc_GNU_visibility): Free name returned from read_symbol_name. (ppc_extern, ppc_globl, ppc_weak): Likewise.
This commit is contained in:
@@ -4231,6 +4231,7 @@ static void ppc_GNU_visibility (int visibility) {
|
||||
if ((name = read_symbol_name ()) == NULL)
|
||||
break;
|
||||
symbolP = symbol_find_or_make (name);
|
||||
free (name);
|
||||
coffsym = coffsymbol (symbol_get_bfdsym (symbolP));
|
||||
|
||||
coffsym->native->u.syment.n_type &= ~SYM_V_MASK;
|
||||
@@ -4837,6 +4838,7 @@ ppc_extern (int ignore ATTRIBUTE_UNUSED)
|
||||
return;
|
||||
|
||||
sym = symbol_find_or_make (name);
|
||||
free (name);
|
||||
|
||||
if (*input_line_pointer == ',')
|
||||
{
|
||||
@@ -4872,6 +4874,7 @@ ppc_globl (int ignore ATTRIBUTE_UNUSED)
|
||||
return;
|
||||
|
||||
sym = symbol_find_or_make (name);
|
||||
free (name);
|
||||
S_SET_EXTERNAL (sym);
|
||||
|
||||
if (*input_line_pointer == ',')
|
||||
@@ -4908,6 +4911,7 @@ ppc_weak (int ignore ATTRIBUTE_UNUSED)
|
||||
return;
|
||||
|
||||
sym = symbol_find_or_make (name);
|
||||
free (name);
|
||||
S_SET_WEAK (sym);
|
||||
|
||||
if (*input_line_pointer == ',')
|
||||
|
||||
@@ -1699,6 +1699,7 @@ read_symbol_name (void)
|
||||
{
|
||||
as_bad (_("expected symbol name"));
|
||||
ignore_rest_of_line ();
|
||||
free (start);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user