]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
Don't segfault at DT_PLTREL case.
authorMarek Polacek <mpolacek@redhat.com>
Tue, 22 Mar 2011 00:07:20 +0000 (01:07 +0100)
committerMarek Polacek <mpolacek@redhat.com>
Tue, 22 Mar 2011 00:07:20 +0000 (01:07 +0100)
src/ChangeLog
src/readelf.c

index 6ba890fd0370edcc3bd3b8e0487498b1ebd30e7a..66cca15d130fdb7facca102dd7ef5b95387f1856 100644 (file)
@@ -1,3 +1,7 @@
+2011-03-22  Marek Polacek  <mpolacek@redhat.com>
+
+       * readelf.c (handle_dynamic): Don't segfault at DT_PLTREL case.
+
 2011-03-10  Mark Wielaard  <mjw@redhat.com>
 
        * elflint.c (check_symtab): Use ebl_check_st_other_bits.
index 956d8bd46511005982bcb6e6a711d721b21c4d3a..2e149b221529e562f5af1277bc80a3fb0424eaf8 100644 (file)
@@ -1445,8 +1445,10 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
          printf ("%" PRId64 "\n", dyn->d_un.d_val);
          break;
 
-       case DT_PLTREL:
-         puts (ebl_dynamic_tag_name (ebl, dyn->d_un.d_val, NULL, 0));
+       case DT_PLTREL:;
+         const char *tagname = ebl_dynamic_tag_name (ebl, dyn->d_un.d_val,
+                                                     NULL, 0);
+         puts (tagname ?: "???");
          break;
 
        case DT_FLAGS: