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 a19d488673fdfe81a3ef6538deff7caa1b94cd75..735a344551214d5b98dab09ddd68bc9160542337 100644 (file)
@@ -1,3 +1,9 @@
+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
index 58521dd84530de2fd1b838ddcf82bdb3b705c0bc..bc610003a7dc85faa9f42a70fd1237a8ffcb29fc 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;