Fix memory access violations triggered by running objdump on fuzzed binaries.
authorNick Clifton <nickc@redhat.com>
Thu, 15 Jan 2015 16:22:55 +0000 (16:22 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 15 Jan 2015 16:22:55 +0000 (16:22 +0000)
commitcd21f5daad4335b50366b838664ade64bec29957
tree51f091bb808e6350a6c63a77cd8a4d5db16769e4
parent2d071cfc6614b4ec30fa4ef8b8af5bdf2c177858
Fix memory access violations triggered by running objdump on fuzzed binaries.

PR binutils/17512
* elf-m10300.c (mn10300_info_to_howto): Replace assertion with an
error message.  Never return an invalid howto pointer.
* elf32-cr16.c (cr16_info_to_howto): Likewise.
* elf32-crx.c (elf_crx_info_to_howto): Likewise.
* elf32-i370.c (i370_elf_info_to_howto): Likewise.
* elf32-mcore.c (mcore_elf_info_to_howto): Likewise.
* elf32-microblaze.c (microblaze_elf_info_to_howto): Likewise.
* elf32-mips.c (mips_elf32_rtype_to_howto): Likewise.
* elf32-pj.c (pj_elf_info_to_howto): Likewise.
* elf32-ppc.c (ppc_elf_info_to_howto): Likewise.
* elf32-spu.c (spu_elf_info_to_howto): Likewise.
* elf32-v850.c (v850_elf_info_to_howto_rela): Likewise.
* elf32-vax.c (rtype_to_howto): Likewise.
* elf64-alpha.c (elf64_alpha_info_to_howto): Likewise.
* elf64-mips.c (mips_elf64_rtype_to_howto): Likewise.
* elfn32-mips.c (sh_elf_info_to_howto): Likewise.
* elf32-sh.c (sh_elf_info_to_howto): Likewise.
(sh_elf_reloc): Check that the reloc is in range.
* reloc.c (bfd_perform_relocation): Check that the section is big
enough for the entire reloc.
(bfd_generic_get_relocated_section_contents): Report unexpected
return values from perform_reloc.
18 files changed:
bfd/ChangeLog
bfd/elf-m10300.c
bfd/elf32-cr16.c
bfd/elf32-crx.c
bfd/elf32-i370.c
bfd/elf32-mcore.c
bfd/elf32-microblaze.c
bfd/elf32-mips.c
bfd/elf32-pj.c
bfd/elf32-ppc.c
bfd/elf32-sh.c
bfd/elf32-spu.c
bfd/elf32-v850.c
bfd/elf32-vax.c
bfd/elf64-alpha.c
bfd/elf64-mips.c
bfd/elfn32-mips.c
bfd/reloc.c