From: Nick Clifton Date: Mon, 6 Sep 2021 11:24:49 +0000 (+0100) Subject: Fix an illegal memory access triggered by disassembling corrupt s390x binaries. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=804439b4d7a83d4db8adcb816d8ee8e04a06b33c;p=binutils-gdb.git Fix an illegal memory access triggered by disassembling corrupt s390x binaries. PR 28304 * elfxx-score7.c (score_elf_gprel15_reloc): If there is no output bfd treat the reloc as undefined. --- diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c index a6960c02c50..43cf5cb70cd 100644 --- a/bfd/elf32-score7.c +++ b/bfd/elf32-score7.c @@ -441,6 +441,8 @@ score_elf_gprel15_reloc (bfd *abfd, { relocateable = false; output_bfd = symbol->section->output_section->owner; + if (output_bfd == NULL) + return bfd_reloc_undefined; } ret = score_elf_final_gp (output_bfd, symbol, relocateable, error_message, &gp); @@ -448,7 +450,7 @@ score_elf_gprel15_reloc (bfd *abfd, return ret; return score_elf_gprel15_with_gp (abfd, symbol, reloc_entry, - input_section, relocateable, data, gp); + input_section, relocateable, data, gp); } /* Do a R_SCORE_GPREL32 relocation. This is a 32 bit value which must