From df1881737bc89b7f4b06f0b038cb6fcfd76c7cae Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 3 Nov 2022 13:52:32 +0100 Subject: readelf: Check gelf_getdyn doesn't return NULL Signed-off-by: Mark Wielaard --- src/ChangeLog | 5 +++++ src/readelf.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 0c5ab37e..66428b70 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2022-11-03 Mark Wielaard + + * readelf.c (get_dynscn_addrs): Check gelf_getdyn doesn't + return NULL. + 2022-11-03 Mark Wielaard * readelf.c (handle_dynamic): Check phdr != NULL when diff --git a/src/readelf.c b/src/readelf.c index e721a209..3dafb041 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -4910,7 +4910,7 @@ get_dynscn_addrs(Elf *elf, GElf_Phdr *phdr, GElf_Addr addrs[i_max]) GElf_Dyn dyn_mem; GElf_Dyn *dyn = gelf_getdyn(data, dyn_idx, &dyn_mem); /* DT_NULL Marks end of dynamic section. */ - if (dyn->d_tag == DT_NULL) + if (dyn == NULL || dyn->d_tag == DT_NULL) break; switch (dyn->d_tag) { -- cgit v1.2.1