diff options
author | Nick Clifton <nickc@redhat.com> | 2017-09-26 16:03:10 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-09-26 16:03:10 +0100 |
commit | 262c0a877f91b9102fd42523598b46ea79a8970e (patch) | |
tree | ae323d62992028be712f7f71feb55276450f6cfe /bfd | |
parent | 00956d3a8ab1b56fcdf63aee4ed5c5a1d46a7a48 (diff) | |
download | binutils-gdb-262c0a877f91b9102fd42523598b46ea79a8970e.tar.gz |
Fix an assertion failure when parsing a fuzzed x86_64 ELF binary.
PR 22172
* elf64-x86-64.c (elf_x86_64_info_to_howto): Do not trigger an
assertion failure if elf_x86_64_rtype_to_howto has already issued
an error message.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elf64-x86-64.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0e670cdcf8e..20451d77606 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2017-09-26 Nick Clifton <nickc@redhat.com> + + PR 22172 + * elf64-x86-64.c (elf_x86_64_info_to_howto): Do not trigger an + assertion failure if elf_x86_64_rtype_to_howto has already issued + an error message. + 2017-09-26 Alan Modra <amodra@gmail.com> PR 22210 diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 84a26033245..4b19d022598 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -344,7 +344,8 @@ elf_x86_64_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, arelent *cache_ptr, && r_type != (unsigned int) R_X86_64_GNU_VTENTRY) r_type &= ~R_X86_64_converted_reloc_bit; cache_ptr->howto = elf_x86_64_rtype_to_howto (abfd, r_type); - BFD_ASSERT (r_type == cache_ptr->howto->type); + + BFD_ASSERT (r_type == cache_ptr->howto->type || cache_ptr->howto->type == R_X86_64_NONE); } /* Support for core dump NOTE sections. */ |