summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-11-04 12:44:54 +0000
committerAlan Modra <amodra@gmail.com>2010-11-04 12:44:54 +0000
commit129b5d55a3dca92ea486dfcecec18055fa6815cc (patch)
treea3ce1bb1b7c5b5eb17596c3dbe8b8120054819d5
parente8b36cd1e57055ea2eb1e2ba2692f1ec520b34db (diff)
downloadbinutils-gdb-129b5d55a3dca92ea486dfcecec18055fa6815cc.tar.gz
* plugin.c (is_ir_dummy_bfd): Don't segfault on NULL abfd.
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/plugin.c6
2 files changed, 9 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index b6cada28aad..2b037e420bf 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2010-11-04 Alan Modra <amodra@gmail.com>
+
+ * plugin.c (is_ir_dummy_bfd): Don't segfault on NULL abfd.
+
2010-11-03 Nick Clifton <nickc@redhat.com>
PR ld/12001
diff --git a/ld/plugin.c b/ld/plugin.c
index f03932c0967..1e280e4cd21 100644
--- a/ld/plugin.c
+++ b/ld/plugin.c
@@ -245,7 +245,11 @@ plugin_get_ir_dummy_bfd (const char *name, bfd *srctemplate)
bfd_boolean
is_ir_dummy_bfd (const bfd *abfd)
{
- size_t namlen = strlen (abfd->filename);
+ size_t namlen;
+
+ if (abfd == NULL)
+ return FALSE;
+ namlen = strlen (abfd->filename);
if (namlen < IRONLY_SUFFIX_LEN)
return FALSE;
return !strcmp (abfd->filename + namlen - IRONLY_SUFFIX_LEN, IRONLY_SUFFIX);