PR 21415, objdump fails to check bfd_get_section_contents status
authorAlan Modra <amodra@gmail.com>
Sun, 23 Apr 2017 09:01:40 +0000 (18:31 +0930)
committerAlan Modra <amodra@gmail.com>
Sun, 23 Apr 2017 11:03:35 +0000 (20:33 +0930)
PR 21415
* objdump.c (disassemble_section): Check bfd_get_section_contents
status.

binutils/ChangeLog
binutils/objdump.c

index a19d488..735a344 100644 (file)
@@ -1,5 +1,11 @@
 2017-04-23  Alan Modra  <amodra@gmail.com>
 
+       PR 21415
+       * objdump.c (disassemble_section): Check bfd_get_section_contents
+       status.
+
+2017-04-23  Alan Modra  <amodra@gmail.com>
+
        PR 21408
        * dwarf.c (display_debug_lines_decoded): Don't segfault on NULL
        file_table.
index 58521dd..bc61000 100644 (file)
@@ -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;