From: Nick Clifton Date: Tue, 26 Sep 2017 15:03:10 +0000 (+0100) Subject: Fix an assertion failure when parsing a fuzzed x86_64 ELF binary. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=262c0a877f91b9102fd42523598b46ea79a8970e;p=binutils-gdb.git 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. --- 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 + + 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 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. */