diff options
author | Alan Modra <amodra@gmail.com> | 2019-09-30 14:04:08 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2019-09-30 14:18:14 +0930 |
commit | 663f67df1e8a7ac0ab8c8c577817067ca32ea4be (patch) | |
tree | d6f6e970037315da2c469c432a4c3af1b794ab97 /binutils | |
parent | 0925bc84413319be2465347e52bdc5fd1827b8bf (diff) | |
download | binutils-663f67df1e8a7ac0ab8c8c577817067ca32ea4be.zip binutils-663f67df1e8a7ac0ab8c8c577817067ca32ea4be.tar.gz binutils-663f67df1e8a7ac0ab8c8c577817067ca32ea4be.tar.bz2 |
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.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 6 | ||||
-rw-r--r-- | binutils/readelf.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index a136e5b..dcc876c 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2019-09-30 Alan Modra <amodra@gmail.com> + + PR 25046 + * readelf.c (process_program_headers): Clear dynamic_addr and + dynamic_size earlier. + 2019-09-24 Alan Modra <amodra@gmail.com> PR 25031 diff --git a/binutils/readelf.c b/binutils/readelf.c index cc16816..0962877 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++) |