diff options
author | Mark Wielaard <mark@klomp.org> | 2022-11-03 13:52:32 +0100 |
---|---|---|
committer | Frank Ch. Eigler <fche@redhat.com> | 2023-04-07 10:53:47 -0400 |
commit | df1881737bc89b7f4b06f0b038cb6fcfd76c7cae (patch) | |
tree | 5cb4934724fba5eaa2749e2a034a1f30297c631c | |
parent | 96635eb07ac35c970ad606117d01ed19b233f0b2 (diff) | |
download | elfutils-df1881737bc89b7f4b06f0b038cb6fcfd76c7cae.tar.gz |
readelf: Check gelf_getdyn doesn't return NULL
Signed-off-by: Mark Wielaard <mark@klomp.org>
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/readelf.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0c5ab37e..66428b70 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,10 @@ 2022-11-03 Mark Wielaard <mark@klomp.org> + * readelf.c (get_dynscn_addrs): Check gelf_getdyn doesn't + return NULL. + +2022-11-03 Mark Wielaard <mark@klomp.org> + * readelf.c (handle_dynamic): Check phdr != NULL when use_dynamic_segment, otherwise check shdr != NULL. 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) { |