From 9f6e589719d85301caf22622c892c8bbee988e60 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 5 Jul 2022 09:51:57 +0930 Subject: 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. --- gas/config/tc-ppc.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gas/config') diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 4d789fd..5f2c416 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -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 == ',') -- cgit v1.1