diff options
author | Mark Wielaard <mjw@redhat.com> | 2014-11-17 23:15:45 +0100 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2014-11-17 23:19:03 +0100 |
commit | 5c1a45c2d370e7fd1149fa74a9382e202fbfe8fe (patch) | |
tree | b41fc506962bb78a5b9176600abd968146bc7e2b /src/objdump.c | |
parent | 7df0da33f4789e264242a4cb8af30c0aefe6d6b4 (diff) | |
download | elfutils-5c1a45c2d370e7fd1149fa74a9382e202fbfe8fe.tar.gz |
Check elf_strptr didn't fail getting section name.
Since elf_strptr can fail and return NULL we should always check the result
before usage. Debug sections are only handled by section name, so make sure
the name actually exists.
Signed-off-by: Mark Wielaard <mjw@redhat.com>
Diffstat (limited to 'src/objdump.c')
-rw-r--r-- | src/objdump.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/objdump.c b/src/objdump.c index ebad25d5..5376447a 100644 --- a/src/objdump.c +++ b/src/objdump.c @@ -1,5 +1,5 @@ /* Print information from ELF file in human-readable form. - Copyright (C) 2005, 2006, 2007, 2009, 2011, 2012 Red Hat, Inc. + Copyright (C) 2005, 2006, 2007, 2009, 2011, 2012, 2014 Red Hat, Inc. This file is part of elfutils. Written by Ulrich Drepper <drepper@redhat.com>, 2005. @@ -460,13 +460,13 @@ section_match (Elf *elf, uint32_t scnndx, GElf_Shdr *shdr, size_t shstrndx) return true; struct section_list *runp = section_list; + const char *name = elf_strptr (elf, shstrndx, shdr->sh_name); do { if (runp->is_name) { - if (strcmp (runp->name, - elf_strptr (elf, shstrndx, shdr->sh_name)) == 0) + if (name && strcmp (runp->name, name) == 0) return true; } else |