We already checked the header actually existed for ELFCLASS64 but not
for the ELFCLASS32 case. It is very unlikely it is at this point in the
code, but theoretically it could happen.
Signed-off-by: Mark Wielaard <mark@klomp.org>
2020-11-01 Mark Wielaard <mark@klomp.org>
+ * elf_strptr.c (elf_strptr): Check shdr is not NULL.
+
+2020-11-01 Mark Wielaard <mark@klomp.org>
+
* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Set *dst to zero on
error.
if (elf->class == ELFCLASS32)
{
Elf32_Shdr *shdr = strscn->shdr.e32 ?: __elf32_getshdr_rdlock (strscn);
- if (unlikely (shdr->sh_type != SHT_STRTAB))
+ if (unlikely (shdr == NULL || shdr->sh_type != SHT_STRTAB))
{
/* This is no string section. */
__libelf_seterrno (ELF_E_INVALID_SECTION);