summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/readelf.c2
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) {