Although we would most likely have seen an error before, make sure we provide a proper error message in the unlikely case gelf_getehdr () returns NULL.
Signed-off-by: Mark Wielaard <m...@klomp.org> --- src/ChangeLog | 5 +++++ src/unstrip.c | 1 + 2 files changed, 6 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 758534d..ca1533d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2018-11-02 Mark Wielaard <m...@klomp.org> + + * unstrip.c (copy_elf): Add ELF_CHECK to make sure gelf_getehdr () + doesn't return NULL. + 2018-10-18 Mark Wielaard <m...@klomp.org> * elflint.c (check_note_data): Recognize NT_GNU_PROPERTY_TYPE_0. diff --git a/src/unstrip.c b/src/unstrip.c index 32da89d..3495b1d 100644 --- a/src/unstrip.c +++ b/src/unstrip.c @@ -245,6 +245,7 @@ copy_elf (Elf *outelf, Elf *inelf) GElf_Ehdr ehdr_mem; GElf_Ehdr *ehdr = gelf_getehdr (inelf, &ehdr_mem); + ELF_CHECK (ehdr != NULL, _("cannot get ELF header: %s")); if (shstrndx < SHN_LORESERVE) ehdr->e_shstrndx = shstrndx; else -- 1.8.3.1