From: AntonMoryakov <ant.v.morya...@gmail.com> - Added a check to ensure `arhdr` is not NULL before using it in `strcmp` to avoid segmentation fault. - This resolves the issue where the pointer returned from `elf_getarhdr` may be NULL and causes a crash when dereferenced. --- src/objdump.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/objdump.c b/src/objdump.c index 1b38da23..33b6fec5 100644 --- a/src/objdump.c +++ b/src/objdump.c @@ -313,7 +313,8 @@ handle_ar (int fd, Elf *elf, const char *prefix, const char *fname, Elf_Arhdr *arhdr = elf_getarhdr (subelf); /* Skip over the index entries. */ - if (strcmp (arhdr->ar_name, "/") != 0 + if (arhdr != NULL + && strcmp (arhdr->ar_name, "/") != 0 && strcmp (arhdr->ar_name, "//") != 0) { if (elf_kind (subelf) == ELF_K_ELF) -- 2.34.1