summaryrefslogtreecommitdiff
path: root/libelf/gelf_dyn.c
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2019-06-29 15:27:18 +0000
committerEd Maste <emaste@FreeBSD.org>2019-06-29 15:27:18 +0000
commita5b08c1484eac2c6a65e726f550b3189ff84c6c8 (patch)
tree01cd9d6d76e2c378b391422460c6f233ead08179 /libelf/gelf_dyn.c
parent2b92b30119ed91ed88f102ba9ecc40cd1c046a65 (diff)
Notes
Diffstat (limited to 'libelf/gelf_dyn.c')
-rw-r--r--libelf/gelf_dyn.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libelf/gelf_dyn.c b/libelf/gelf_dyn.c
index 74233094bf6c..1c8b133ceada 100644
--- a/libelf/gelf_dyn.c
+++ b/libelf/gelf_dyn.c
@@ -31,7 +31,7 @@
#include "_libelf.h"
-ELFTC_VCSID("$Id: gelf_dyn.c 3177 2015-03-30 18:19:41Z emaste $");
+ELFTC_VCSID("$Id: gelf_dyn.c 3732 2019-04-22 11:08:38Z jkoshy $");
GElf_Dyn *
gelf_getdyn(Elf_Data *ed, int ndx, GElf_Dyn *dst)
@@ -67,9 +67,9 @@ gelf_getdyn(Elf_Data *ed, int ndx, GElf_Dyn *dst)
return (NULL);
}
- msz = _libelf_msize(ELF_T_DYN, ec, e->e_version);
+ if ((msz = _libelf_msize(ELF_T_DYN, ec, e->e_version)) == 0)
+ return (NULL);
- assert(msz > 0);
assert(ndx >= 0);
if (msz * (size_t) ndx >= d->d_data.d_size) {
@@ -127,9 +127,9 @@ gelf_update_dyn(Elf_Data *ed, int ndx, GElf_Dyn *ds)
return (0);
}
- msz = _libelf_msize(ELF_T_DYN, ec, e->e_version);
+ if ((msz = _libelf_msize(ELF_T_DYN, ec, e->e_version)) == 0)
+ return (0);
- assert(msz > 0);
assert(ndx >= 0);
if (msz * (size_t) ndx >= d->d_data.d_size) {