public inbox for binutils-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] free read_symbol_name string
@ 2022-07-09 12:35 Alan Modra
  0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2022-07-09 12:35 UTC (permalink / raw)
  To: bfd-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9f6e589719d85301caf22622c892c8bbee988e60

commit 9f6e589719d85301caf22622c892c8bbee988e60
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Jul 5 09:51:57 2022 +0930

    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.

Diff:
---
 gas/config/tc-ppc.c | 4 ++++
 gas/read.c          | 1 +
 2 files changed, 5 insertions(+)

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 4d789fd16a9..5f2c41621b4 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 == ',')
diff --git a/gas/read.c b/gas/read.c
index c6ce0345892..35446ff0f8b 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -1699,6 +1699,7 @@ read_symbol_name (void)
     {
       as_bad (_("expected symbol name"));
       ignore_rest_of_line ();
+      free (start);
       return NULL;
     }


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-07-09 12:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-09 12:35 [binutils-gdb] free read_symbol_name string Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).