diff options
author | Nick Clifton <nickc@redhat.com> | 2016-06-02 16:20:27 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2016-06-02 16:20:27 +0100 |
commit | bcc3a8bca12aa077e6d40880f2d41f05864d4798 (patch) | |
tree | 32b7aab5af3bf87b00fb47ecde90e20af3b45683 /binutils | |
parent | 193bd37899bc7e301b195929bc7e335bea03d4e4 (diff) | |
download | gdb-bcc3a8bca12aa077e6d40880f2d41f05864d4798.zip gdb-bcc3a8bca12aa077e6d40880f2d41f05864d4798.tar.gz gdb-bcc3a8bca12aa077e6d40880f2d41f05864d4798.tar.bz2 |
Fix a seg-fault when stripping a corrupt binary.
PR 20089
* objcopy.c (group_signature): Fail if the input symbol table has
not been loaded.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 4 | ||||
-rw-r--r-- | binutils/objcopy.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 9dfaf2b..a91b99b 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,9 @@ 2016-06-02 Nick Clifton <nickc@redhat.com> + PR 20089 + * objcopy.c (group_signature): Fail if the input symbol table has + not been loaded. + * dwarf.c (display_debug_frames): Do not display any interpretation if the block consists solely of DW__CFA_NOPs. diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 9426761..98332cd 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -1125,6 +1125,10 @@ group_signature (asection *group) bfd *abfd = group->owner; Elf_Internal_Shdr *ghdr; + /* PR 20089: An earlier error may have prevented us from loading the symbol table. */ + if (isympp == NULL) + return NULL; + if (bfd_get_flavour (abfd) != bfd_target_elf_flavour) return NULL; |