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 af04da9..57f5ad3 100644 (file)
@@ -1,5 +1,10 @@
 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
        * elf.c (_bfd_elf_slurp_version_tables): Test sh_info on
        SHT_GNU_verneed section for sanity.  Don't zalloc memory for
index 856c963..d1cf1aa 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;