From: Mark Wielaard Date: Fri, 14 Nov 2014 11:24:28 +0000 (+0100) Subject: readelf: Check def == NULL before use in handle_versym. X-Git-Tag: elfutils-0.161~91 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ad87d27664c982887ebbc88cf1a1fb431255d709;p=thirdparty%2Felfutils.git readelf: Check def == NULL before use in handle_versym. Signed-off-by: Mark Wielaard --- diff --git a/src/ChangeLog b/src/ChangeLog index 6d3e9514a..be1d55fb9 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2014-11-14 Mark Wielaard + + * readelf.c (handle_versym): Check def == NULL before use. + 2014-11-08 Mark Wielaard * readelf.c (handle_versym): Initialize vername and filename array diff --git a/src/readelf.c b/src/readelf.c index 01c644f2e..243e16e58 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -2744,11 +2744,14 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr) /* Get the data at the next offset. */ GElf_Verdef defmem; GElf_Verdef *def = gelf_getverdef (defdata, offset, &defmem); + if (unlikely (def == NULL)) + break; + GElf_Verdaux auxmem; GElf_Verdaux *aux = gelf_getverdaux (defdata, offset + def->vd_aux, &auxmem); - if (unlikely (def == NULL || aux == NULL)) + if (unlikely (aux == NULL)) break; vername[def->vd_ndx & 0x7fff]