diff options
author | Mark Wielaard <mark@klomp.org> | 2023-04-06 16:58:13 +0200 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2023-04-14 17:25:03 +0200 |
commit | d8d1900ace46542e0fd4e0cec8af2324166109e4 (patch) | |
tree | c007d77bb2161299825ea1a6397c8d817f1f1416 | |
parent | 3daddabd5d619bc2316813a5676d9be34ad3f6ac (diff) | |
download | elfutils-d8d1900ace46542e0fd4e0cec8af2324166109e4.tar.gz |
readelf: Handle NULL shdr in section_name
In some error cases we want to show the section name but cannot
because the section header is corrupt or NULL. Make sure the
section_name always returns "???" in that case.
* src/readelf.c (section_name): Check for shdr == NULL.
Signed-off-by: Mark Wielaard <mark@klomp.org>
-rw-r--r-- | src/readelf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/readelf.c b/src/readelf.c index 6950204e..4a1b985d 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -1606,7 +1606,7 @@ static const char * section_name (Ebl *ebl, GElf_Shdr *shdr) { size_t shstrndx; - if (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0) + if (shdr == NULL || elf_getshdrstrndx (ebl->elf, &shstrndx) < 0) return "???"; return elf_strptr (ebl->elf, shstrndx, shdr->sh_name) ?: "???"; } |