aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorSandra Loosemore <sandra@codesourcery.com>2013-02-19 03:59:08 +0000
committerSandra Loosemore <sandra@codesourcery.com>2013-02-19 03:59:08 +0000
commit46fed7f7c29ff8718cd97703188a15d8ee897be1 (patch)
treeb03e0dd97490611f1f80f25e99fb3d35e4464b00 /ld
parent897aea504d5f5ba75b021e0a817d4ea9337a378d (diff)
downloadfsf-binutils-gdb-46fed7f7c29ff8718cd97703188a15d8ee897be1.zip
fsf-binutils-gdb-46fed7f7c29ff8718cd97703188a15d8ee897be1.tar.gz
fsf-binutils-gdb-46fed7f7c29ff8718cd97703188a15d8ee897be1.tar.bz2
2013-02-19 Sandra Loosemore <sandra@codesourcery.com>
PR ld/15146 ld/ * plugin.c (plugin_notice): Add null check before dereferencing pointer.
Diffstat (limited to 'ld')
-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;
}