diff options
author | Alan Modra <amodra@gmail.com> | 2021-06-11 14:12:07 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2021-06-11 14:12:07 +0930 |
commit | 4de91c10cdd9f5818599578667802320df305d72 (patch) | |
tree | a546a8305091b6d1166e2ab3e22b1a2f5f99987b /binutils/ChangeLog | |
parent | f64b9b13ce4bb927f47a1fe0257c3794c6357c8c (diff) | |
download | gdb-4de91c10cdd9f5818599578667802320df305d72.zip gdb-4de91c10cdd9f5818599578667802320df305d72.tar.gz gdb-4de91c10cdd9f5818599578667802320df305d72.tar.bz2 |
readelf section reading
This is a followup to git commit 8ff66993e0b5, a patch aimed at
segfaults found invoking readelf multiple times with fuzzed objects.
In that patch I added code to clear more stashed data early in
process_section_headers, along with any stashed section headers. This
patch instead relies on clearing out the stash at the end of
process_object, making sure that process_object doesn't exit early.
The patch also introduces some new wrapper functions.
* readelf.c (GET_ELF_SYMBOLS): Delete. Replace with..
(get_elf_symbols): ..this new function throughout.
(get_32bit_section_headers): Don't free section_headers.
(get_64bit_section_headers): Likewise.
(get_section_headers): New function, use throughout in place of
32bit and 64bit variants.
(get_dynamic_section): Similarly.
(process_section_headers): Don't free filedata memory here.
(get_file_header): Don't get section headers here..
(process_object): ..Read them here instead. Don't exit without
freeing filedata memory.
Diffstat (limited to 'binutils/ChangeLog')
-rw-r--r-- | binutils/ChangeLog | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 7632499..bd91a39 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,17 @@ +2021-06-11 Alan Modra <amodra@gmail.com> + + * readelf.c (GET_ELF_SYMBOLS): Delete. Replace with.. + (get_elf_symbols): ..this new function throughout. + (get_32bit_section_headers): Don't free section_headers. + (get_64bit_section_headers): Likewise. + (get_section_headers): New function, use throughout in place of + 32bit and 64bit variants. + (get_dynamic_section): Similarly. + (process_section_headers): Don't free filedata memory here. + (get_file_header): Don't get section headers here.. + (process_object): ..Read them here instead. Don't exit without + freeing filedata memory. + 2021-06-09 Nick Clifton <nickc@redhat.com> * MAINTAINERS: Remove Daniel Jacobwitz from the maintainers list. |