From: Mark Wielaard Date: Thu, 18 Jun 2015 18:24:39 +0000 (+0200) Subject: readelf: Make sure phdr2_mem lifetime/scope equals phdr2 pointer. X-Git-Tag: elfutils-0.163~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=222cd82a154bc1805fa1631e8fa0269482d5be27;p=thirdparty%2Felfutils.git readelf: Make sure phdr2_mem lifetime/scope equals phdr2 pointer. We dont' want GCC to dispose or reuse phdr2_mem stack memory while phdr2 is pointing to it. Signed-off-by: Mark Wielaard --- diff --git a/src/ChangeLog b/src/ChangeLog index d11b0e6b5..80e451cef 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2015-06-18 Mark Wielaard + + * readelf.c (print_phdr): Make sure phdr2_mem lifetime/scope equals + phdr2 pointer. + 2015-06-18 Mark Wielaard * readelf.c (handle_gnu_hash): Free lengths on invalid_data. diff --git a/src/readelf.c b/src/readelf.c index 9afe8dba4..d3c2b6b4a 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -1315,10 +1315,10 @@ print_phdr (Ebl *ebl, GElf_Ehdr *ehdr) { /* Determine the segment this section is part of. */ size_t cnt2; + GElf_Phdr phdr2_mem; GElf_Phdr *phdr2 = NULL; for (cnt2 = 0; cnt2 < phnum; ++cnt2) { - GElf_Phdr phdr2_mem; phdr2 = gelf_getphdr (ebl->elf, cnt2, &phdr2_mem); if (phdr2 != NULL && phdr2->p_type == PT_LOAD