diff options
author | Nick Clifton <nickc@redhat.com> | 2011-03-11 14:18:24 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2011-03-11 14:18:24 +0000 |
commit | 502df130577339e30647c32a728b01c2fe99e78e (patch) | |
tree | e95301c187328674b6401a649eecfc81d5695df5 | |
parent | f2eb0bc849b3c5598d02a2b83b2cef29312a171d (diff) | |
download | ppe42-binutils-502df130577339e30647c32a728b01c2fe99e78e.tar.gz ppe42-binutils-502df130577339e30647c32a728b01c2fe99e78e.zip |
* remap.c (remap_debug_filename): Always allocate a buffer for the
returned pointer.
* stabs.c (stabs_generate_asm_file): Free the pointer returned by
remap_debug_filename.
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/remap.c | 7 | ||||
-rw-r--r-- | gas/stabs.c | 1 |
3 files changed, 12 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 437768ed5f..4cffafc3de 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2011-03-11 Nick Clifton <nickc@redhat.com> + + * remap.c (remap_debug_filename): Always allocate a buffer for the + returned pointer. + * stabs.c (stabs_generate_asm_file): Free the pointer returned by + remap_debug_filename. + 2011-03-10 Michael Snyder <msnyder@vmware.com> Revert the following change: diff --git a/gas/remap.c b/gas/remap.c index 0c863fb10d..ae9b9ddaa9 100644 --- a/gas/remap.c +++ b/gas/remap.c @@ -65,8 +65,9 @@ add_debug_prefix_map (const char *arg) debug_prefix_maps = map; } -/* Perform user-specified mapping of debug filename prefixes. Return - the new name corresponding to FILENAME. */ +/* Perform user-specified mapping of debug filename prefixes. Returns + a newly allocated buffer containing the name corresponding to FILENAME. + It is the caller's responsibility to free the buffer. */ const char * remap_debug_filename (const char *filename) @@ -80,7 +81,7 @@ remap_debug_filename (const char *filename) if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0) break; if (!map) - return filename; + return xstrdup (filename); name = filename + map->old_len; name_len = strlen (name) + 1; s = (char *) alloca (name_len + map->new_len); diff --git a/gas/stabs.c b/gas/stabs.c index f197ebdac7..e0594fa5d4 100644 --- a/gas/stabs.c +++ b/gas/stabs.c @@ -502,6 +502,7 @@ stabs_generate_asm_file (void) dir2 = (char *) alloca (strlen (dir) + 2); sprintf (dir2, "%s%s", dir, "/"); generate_asm_file (N_SO, dir2); + xfree ((char *) dir); } generate_asm_file (N_SO, file); } |