From 2aec1123f9ec86cd190767c9852cb77ed2c017ec Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 28 Oct 2020 11:07:02 +0000 Subject: [PATCH 1/1] 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. --- bfd/ChangeLog | 6 ++++++ bfd/srec.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d93b27bced..30bd85d1a9 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 ef7eb43995..6cbe3309e4 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; -- 2.34.1