From b02cd3e978e9273074f7cbe2ca1d5b372225a56d Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sun, 23 Apr 2017 18:31:40 +0930 Subject: [PATCH] PR 21415, objdump fails to check bfd_get_section_contents status PR 21415 * objdump.c (disassemble_section): Check bfd_get_section_contents status. --- binutils/ChangeLog | 6 ++++++ binutils/objdump.c | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index a19d488..735a344 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,11 @@ 2017-04-23 Alan Modra + PR 21415 + * objdump.c (disassemble_section): Check bfd_get_section_contents + status. + +2017-04-23 Alan Modra + PR 21408 * dwarf.c (display_debug_lines_decoded): Don't segfault on NULL file_table. diff --git a/binutils/objdump.c b/binutils/objdump.c index 58521dd..bc61000 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -2174,7 +2174,12 @@ disassemble_section (bfd *abfd, asection *section, void *inf) data = (bfd_byte *) xmalloc (datasize); - bfd_get_section_contents (abfd, section, data, 0, datasize); + if (!bfd_get_section_contents (abfd, section, data, 0, datasize)) + { + non_fatal (_("Reading section %s failed because: %s"), + section->name, bfd_errmsg (bfd_get_error ())); + return; + } paux->sec = section; pinfo->buffer = data; -- 2.7.4