]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
readelf: check elf_getarhdr returns NULL in dump_archive_index
authorAnton Moryakov <ant.v.moryakov@gmail.com>
Thu, 13 Feb 2025 15:57:42 +0000 (18:57 +0300)
committerMark Wielaard <mark@klomp.org>
Thu, 27 Feb 2025 17:24:23 +0000 (18:24 +0100)
Report of the static analyzer:
DEREF_OF_NULL.RET Pointer, returned from function 'elf_getarhdr' at
readelf.c:13551, may be NULL and is dereferenced at readelf.c:13553.

    * src/readelf.c (dump_archive_index): Check elf_getarhdr doesn't
    return NULL.

Triggers found by static analyzer Svace.

Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
src/readelf.c

index da37921602f1b1f250370e2f061d4be4e83b62d1..61d5b71a79132a8bc78c401fe04be48a6ae860b7 100644 (file)
@@ -13561,8 +13561,8 @@ dump_archive_index (Elf *elf, const char *fname)
                          as_off, fname, elf_errmsg (-1));
 
          const Elf_Arhdr *h = elf_getarhdr (subelf);
-
-         printf (_("Archive member '%s' contains:\n"), h->ar_name);
+         if (h != NULL)
+           printf (_("Archive member '%s' contains:\n"), h->ar_name);
 
          elf_end (subelf);
        }