PR22167, NULL pointer dereference in scan_unit_for_symbols
authorAlan Modra <amodra@gmail.com>
Sun, 24 Sep 2017 05:05:33 +0000 (14:35 +0930)
committerAlan Modra <amodra@gmail.com>
Sun, 24 Sep 2017 05:05:33 +0000 (14:35 +0930)
PR 22167
* dwarf2.c (scan_unit_for_symbols): Check u.blk->data is non-NULL.

bfd/ChangeLog
bfd/dwarf2.c

index af04da9e69ea8954e32895939692fd2e69259de2..57f5ad3b560cd6059cf33765c284a7e0a189478b 100644 (file)
@@ -1,3 +1,8 @@
+2017-09-24  Alan Modra  <amodra@gmail.com>
+
+       PR 22167
+       * dwarf2.c (scan_unit_for_symbols): Check u.blk->data is non-NULL.
+
 2017-09-24  Alan Modra  <amodra@gmail.com>
 
        PR 22166
index 856c963985cdf03568b2736dd6a3fd30d86e19f4..d1cf1aa71fc6ff709282ca11f164e3b2ca9afce0 100644 (file)
@@ -3210,7 +3210,8 @@ scan_unit_for_symbols (struct comp_unit *unit)
                    case DW_FORM_block2:
                    case DW_FORM_block4:
                    case DW_FORM_exprloc:
-                     if (*attr.u.blk->data == DW_OP_addr)
+                     if (attr.u.blk->data != NULL
+                         && *attr.u.blk->data == DW_OP_addr)
                        {
                          var->stack = 0;