]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
readelf: Handle NULL shdr in section_name
authorMark Wielaard <mark@klomp.org>
Thu, 6 Apr 2023 14:58:13 +0000 (16:58 +0200)
committerMark Wielaard <mark@klomp.org>
Fri, 14 Apr 2023 15:25:03 +0000 (17:25 +0200)
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>
src/readelf.c

index 6950204efba5a4cbefee1423ce9de93c1357a4e1..4a1b985dc856ce683cb76c3e4be70e8067f5beb2 100644 (file)
@@ -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) ?: "???";
 }