PR28674, objdump crash
authorAlan Modra <amodra@gmail.com>
Thu, 9 Dec 2021 21:57:58 +0000 (08:27 +1030)
committerAlan Modra <amodra@gmail.com>
Thu, 9 Dec 2021 22:03:12 +0000 (08:33 +1030)
Not returning an error indication here leaves the attribute
uninitialised, which then leads to intemperate behaviour.

PR 28674
* dwarf2.c (read_attribute_value): Return NULL on trying to read
past end of attributes.

bfd/dwarf2.c

index 04f56a7b18710a34f9551d7c8eb3ef250b17efc4..1c69b3d123604f03963f5b9c6d5c2c42888284ea 100644 (file)
@@ -1199,7 +1199,7 @@ read_attribute_value (struct attribute *  attr,
     {
       _bfd_error_handler (_("DWARF error: info pointer extends beyond end of attributes"));
       bfd_set_error (bfd_error_bad_value);
-      return info_ptr;
+      return NULL;
     }
 
   attr->form = (enum dwarf_form) form;