For STB_GNU_UNIQUE and STT_GNU_IFUNC we need to check the elf of the
given ebl. Make sure the ebl given isn't NULL.
Signed-off-by: Mark Wielaard <mark@klomp.org>
+2019-04-28 Mark Wielaard <mark@klomp.org>
+
+ * eblsymbolbindingname.c (ebl_symbol_binding_name): Check ebl is
+ not NULL for STB_GNU_UNIQUE.
+ * eblsymboltypename.c (ebl_symbol_type_name): Check ebl is not
+ NULL for STT_GNU_IFUNC.
+
2019-01-29 Mark Wielaard <mark@klomp.org>
* eblobjnote.c (ebl_object_note): Check pr_datasz padding doesn't
if (binding >= STB_LOPROC && binding <= STB_HIPROC)
snprintf (buf, len, "LOPROC+%d", binding - STB_LOPROC);
else if (binding == STB_GNU_UNIQUE
+ && ebl != NULL
&& (ident = elf_getident (ebl->elf, NULL)) != NULL
&& ident[EI_OSABI] == ELFOSABI_LINUX)
return "GNU_UNIQUE";
if (symbol >= STT_LOPROC && symbol <= STT_HIPROC)
snprintf (buf, len, "LOPROC+%d", symbol - STT_LOPROC);
else if (symbol == STT_GNU_IFUNC
+ && ebl != NULL
&& (ident = elf_getident (ebl->elf, NULL)) != NULL
&& ident[EI_OSABI] == ELFOSABI_LINUX)
return "GNU_IFUNC";