From 157c25995f7179bfc47faf1a73331f157e56177c Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Fri, 1 Sep 2006 11:38:20 +0000
Subject: PR binutils/3146 * readelf.c (dump_relocations): Check for a NULL
 value in rtype before using it.

---
 binutils/ChangeLog | 6 ++++++
 binutils/readelf.c | 5 ++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

(limited to 'binutils')

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index fc360b0..184f0b1 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+2006-09-01  Nick Clifton  <nickc@redhat.com>
+
+	PR binutils/3146
+	* readelf.c (dump_relocations): Check for a NULL value in rtype
+	before using it.
+
 2006-08-21  Pedro Alves  <pedro_alves@portugalmail.pt>
 
 	* configure.in: Split arm-pe and arm-wince-pe. Build dlltool
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 6bb2e4c..9644256 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -1148,6 +1148,7 @@ dump_relocations (FILE *file,
 	printf (do_wide ? "%-22.22s" : "%-17.17s", rtype);
 
       if (elf_header.e_machine == EM_ALPHA
+	  && rtype != NULL
 	  && streq (rtype, "R_ALPHA_LITUSE")
 	  && is_rela)
 	{
@@ -1246,7 +1247,9 @@ dump_relocations (FILE *file,
 	  print_vma (rels[i].r_addend, LONG_HEX);
 	}
 
-      if (elf_header.e_machine == EM_SPARCV9 && streq (rtype, "R_SPARC_OLO10"))
+      if (elf_header.e_machine == EM_SPARCV9
+	  && rtype != NULL
+	  && streq (rtype, "R_SPARC_OLO10"))
 	printf (" + %lx", (unsigned long) ELF64_R_TYPE_DATA (info));
 
       putchar ('\n');
-- 
cgit v1.1