[PATCH] src: fix DEREF_OF_NULL.RET.STAT in readelf.c in

Anton Moryakov ant.v.moryakov@gmail.com
Thu Feb 13 16:52:00 GMT 2025


Static analyzer reported:
Return value of a function 'gelf_getehdr' is dereferenced at readelf.c:12443
without checking for NULL, but it is usually checked for this function (53/54).

Corrections explained:
- Added a NULL check for the ehdr variable

Triggers found by static analyzer Svace.

Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
---
 src/readelf.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/readelf.c b/src/readelf.c
index 6526db07..3bdfb391 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -12440,6 +12440,11 @@ handle_core_item (Elf *core, const Ebl_Core_Item *item, const void *desc,
 	     field went into the high half of USEC.  */
 	  GElf_Ehdr ehdr_mem;
 	  GElf_Ehdr *ehdr = gelf_getehdr (core, &ehdr_mem);
+	  if (unlikely(ehdr == NULL))
+	  {
+		fprintf(stderr, "Failed to get ELF header\n");
+		return;
+	  }
 	  if (likely (ehdr->e_ident[EI_DATA] == ELFDATA2MSB))
 	    usec >>= 32;
 	  else
-- 
2.30.2



More information about the Elfutils-devel mailing list