summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2003-06-06 02:12:04 +0000
committerDaniel Jacobowitz <dan@debian.org>2003-06-06 02:12:04 +0000
commit74734fd476899c963f8521cc16485d163f40588a (patch)
treefab63fa3f118b53842e770638093e2923659db26
parent626d5f074d1239708d58b85fcc10b0ed64493de7 (diff)
downloadbinutils-redhat-cagney_convert-20030606-branch.tar.gz
* elfcode.h (elf_slurp_reloc_table_from_section): Don't dereferencecagney_convert-20030606-branchpointcagney_convert-20030606-branch
NULL function pointers.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elfcode.h4
2 files changed, 8 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4b54cc23b8..e5fe8d67e6 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
2003-06-05 Daniel Jacobowitz <drow@mvista.com>
+ * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
+ NULL function pointers.
+
+2003-06-05 Daniel Jacobowitz <drow@mvista.com>
+
* simple.c (bfd_simple_get_relocated_section_contents): Call
_bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index 55c5b4264e..0263631e79 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -1363,7 +1363,9 @@ elf_slurp_reloc_table_from_section (abfd, asect, rel_hdr, reloc_count,
relent->addend = rela.r_addend;
- if (entsize == sizeof (Elf_External_Rela))
+ if ((entsize == sizeof (Elf_External_Rela)
+ && ebd->elf_info_to_howto != NULL)
+ || ebd->elf_info_to_howto_rel == NULL)
(*ebd->elf_info_to_howto) (abfd, relent, &rela);
else
(*ebd->elf_info_to_howto_rel) (abfd, relent, &rela);