From: Alan Modra Date: Mon, 30 Sep 2019 04:34:08 +0000 (+0930) Subject: PR25046, readelf "Reading xxx bytes extends past end of file for dynamic section" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=663f67df1e8a7ac0ab8c8c577817067ca32ea4be;p=binutils-gdb.git PR25046, readelf "Reading xxx bytes extends past end of file for dynamic section" PR 25046 * readelf.c (process_program_headers): Clear dynamic_addr and dynamic_size earlier. --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index a136e5b716d..dcc876c67b7 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2019-09-30 Alan Modra + + PR 25046 + * readelf.c (process_program_headers): Clear dynamic_addr and + dynamic_size earlier. + 2019-09-24 Alan Modra PR 25031 diff --git a/binutils/readelf.c b/binutils/readelf.c index cc168163b21..0962877ad8f 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -5101,6 +5101,9 @@ process_program_headers (Filedata * filedata) unsigned int i; Elf_Internal_Phdr * previous_load = NULL; + dynamic_addr = 0; + dynamic_size = 0; + if (filedata->file_header.e_phnum == 0) { /* PR binutils/12467. */ @@ -5151,9 +5154,6 @@ process_program_headers (Filedata * filedata) } } - dynamic_addr = 0; - dynamic_size = 0; - for (i = 0, segment = filedata->program_headers; i < filedata->file_header.e_phnum; i++, segment++)