The fuzzers have found the reloc special functions in coff-aarch64.c
authorAlan Modra <amodra@gmail.com>
Tue, 17 Jan 2023 11:23:00 +0000 (21:53 +1030)
committerAlan Modra <amodra@gmail.com>
Thu, 19 Jan 2023 07:13:53 +0000 (17:43 +1030)
commit066bd434118044487e69a9fbc5cacdee60326595
treecd718591b3b9a51ab1a4b62a0217975f25f1b7d6
parentf07170eb86314cbb9ef3e10d19381779a4656d19
The fuzzers have found the reloc special functions in coff-aarch64.c

All of them need a bfd_reloc_offset_in_range check before accessing
data + reloc_entry->address.  This patch adds the missing checks and
sanity checks reloc offsets in coff_pe_aarch64_relocate_section too.

All of them also need changing to support objdump -W calls to
bfd_simple_get_relocated_section_contents.  At least, secrel_reloc
needs the support, the others might not be present in dwarf debug
sections.

* coff-aarch64.c (coff_aarch64_rel21_reloc): Range check
reloc offset.  Support final-linking.
(coff_aarch64_po12l_reloc): Likewise.
(coff_aarch64_addr32nb_reloc): Likewise.
(coff_aarch64_secrel_reloc): Likewise.
(coff_pe_aarch64_relocate_section): Range check reloc offset.
bfd/coff-aarch64.c