diff options
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/readelf.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index e6c9c2e..a30d38d 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,10 @@ 2020-04-15 Alan Modra <amodra@gmail.com> + * readelf.c (process_symbol_table): Zero gnubuckets, gnuchains + etc. after freeing. + +2020-04-15 Alan Modra <amodra@gmail.com> + * readelf.c (get_group_flags): Translate text. (get_file_type, get_symbol_binding, get_symbol_type), (get_ppc64_symbol_other, get_symbol_other): Increase size of buffer. diff --git a/binutils/readelf.c b/binutils/readelf.c index fb6f801..80af9a2 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -12260,16 +12260,24 @@ process_symbol_table (Filedata * filedata) free (lengths); } free (gnubuckets); + gnubuckets = NULL; free (gnuchains); + gnuchains = NULL; free (mipsxlat); + mipsxlat = NULL; return TRUE; err_out: free (gnubuckets); + gnubuckets = NULL; free (gnuchains); + gnuchains = NULL; free (mipsxlat); + mipsxlat = NULL; free (buckets); + buckets = NULL; free (chains); + chains = NULL; return FALSE; } |