From: Nick Clifton Date: Wed, 28 Oct 2020 11:07:02 +0000 (+0000) Subject: Fix a potential illegal memory access when creating an srec format file. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2aec1123f9ec86cd190767c9852cb77ed2c017ec;p=binutils-gdb.git Fix a potential illegal memory access when creating an srec format file. PR 26774 * srec.c (srec_write_symbols): Do not emit symbols in sections that have been removed from the output. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d93b27bcede..30bd85d1a9d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2020-10-28 Nick Clifton + + PR 26774 + * srec.c (srec_write_symbols): Do not emit symbols in sections + that have been removed from the output. + 2020-10-27 Nick Clifton * elf64-hppa.c (elf_hppa_final_link_relocate): Check that the diff --git a/bfd/srec.c b/bfd/srec.c index ef7eb439959..6cbe3309e4a 100644 --- a/bfd/srec.c +++ b/bfd/srec.c @@ -1085,8 +1085,11 @@ srec_write_symbols (bfd *abfd) for (i = 0; i < count; i++) { asymbol *s = table[i]; + if (! bfd_is_local_label (abfd, s) - && (s->flags & BSF_DEBUGGING) == 0) + && (s->flags & BSF_DEBUGGING) == 0 + && s->section != NULL + && s->section->output_section != NULL) { /* Just dump out non debug symbols. */ char buf[43], *p;