summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libelf/ChangeLog5
-rw-r--r--libelf/elf_getphdrnum.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index 7bd15a28..aee1ffff 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,5 +1,10 @@
2020-11-01 Mark Wielaard <[email protected]>
+ * elf_getphdrnum.c (__elf_getphdrnum_rdlock): Set *dst to zero on
+ error.
+
+2020-11-01 Mark Wielaard <[email protected]>
+
* libelfP.h (__libelf_data_type): Take an GElf_Ehdr instead of an
Elf handle.
* elf_getdata.c (__libelf_data_type): Likewise. And check ehdr
diff --git a/libelf/elf_getphdrnum.c b/libelf/elf_getphdrnum.c
index 53617dfc..60ebec58 100644
--- a/libelf/elf_getphdrnum.c
+++ b/libelf/elf_getphdrnum.c
@@ -44,6 +44,7 @@ __elf_getphdrnum_rdlock (Elf *elf, size_t *dst)
if (unlikely (elf->state.elf64.ehdr == NULL))
{
/* Maybe no ELF header was created yet. */
+ *dst = 0;
__libelf_seterrno (ELF_E_WRONG_ORDER_EHDR);
return -1;
}