diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/readelf.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 6ba890fd..66cca15d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2011-03-22 Marek Polacek <[email protected]> + + * readelf.c (handle_dynamic): Don't segfault at DT_PLTREL case. + 2011-03-10 Mark Wielaard <[email protected]> * elflint.c (check_symtab): Use ebl_check_st_other_bits. diff --git a/src/readelf.c b/src/readelf.c index 956d8bd4..2e149b22 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -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: |
