aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/plugin.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index bfd2efc..af8f7fd 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2013-02-19 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR ld/15146
+ * plugin.c (plugin_notice): Add null check before dereferencing
+ pointer.
+
2013-02-19 Alan Modra <amodra@gmail.com>
* emultempl/elf32.em (emit_note_gnu_build_id): New static var.
diff --git a/ld/plugin.c b/ld/plugin.c
index d880164..23a4a78 100644
--- a/ld/plugin.c
+++ b/ld/plugin.c
@@ -997,7 +997,8 @@ plugin_notice (struct bfd_link_info *info,
/* Replace the undefined dummy bfd with the real one. */
if ((h->type == bfd_link_hash_undefined
|| h->type == bfd_link_hash_undefweak)
- && (h->u.undef.abfd->flags & BFD_PLUGIN) != 0)
+ && (h->u.undef.abfd == NULL
+ || (h->u.undef.abfd->flags & BFD_PLUGIN) != 0))
h->u.undef.abfd = abfd;
h->non_ir_ref = TRUE;
}