summaryrefslogtreecommitdiff
path: root/src/objdump.c
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2014-11-17 23:15:45 +0100
committerMark Wielaard <mjw@redhat.com>2014-11-17 23:19:03 +0100
commit5c1a45c2d370e7fd1149fa74a9382e202fbfe8fe (patch)
treeb41fc506962bb78a5b9176600abd968146bc7e2b /src/objdump.c
parent7df0da33f4789e264242a4cb8af30c0aefe6d6b4 (diff)
downloadelfutils-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.c6
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