diff options
author | Mark Wielaard <mjw@redhat.com> | 2014-05-27 10:25:27 +0200 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2014-05-27 22:00:46 +0200 |
commit | 903f334ef06fbec28d23b7c8ea3c79cacc1da14f (patch) | |
tree | d3c078fee507dc398a1900d1cf759c73f6961856 | |
parent | eb4811dee133864ebbab1a062ac14af1f3ffdc62 (diff) | |
download | elfutils-903f334ef06fbec28d23b7c8ea3c79cacc1da14f.tar.gz |
readelf: Skip section if name is NULL in print_debug.
Don't crash and burn when a section doesn't have a name (possibly invalid
ELF file string table). Just try the next section instead of calling strcmp
on NULL.
Signed-off-by: Mark Wielaard <mjw@redhat.com>
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/readelf.c | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 5535cff7..7e680361 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2014-05-27 Mark Wielaard <mjw@redhat.com> + + * readelf.c (print_debug): Skip section if name is NULL. + 2014-05-26 Mark Wielaard <mjw@redhat.com> * readelf.c (handle_relocs_rela): Print header like handle_relocs_rel diff --git a/src/readelf.c b/src/readelf.c index ea14a09b..6bbe436d 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -7962,8 +7962,10 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr) / sizeof (debug_sections[0])); const char *name = elf_strptr (ebl->elf, shstrndx, shdr->sh_name); - int n; + if (name == NULL) + continue; + int n; for (n = 0; n < ndebug_sections; ++n) if (strcmp (name, debug_sections[n].name) == 0 #if USE_ZLIB |