[binutils-gdb/binutils-2_33-branch] PR25046, readelf "Reading xxx bytes extends past end of file for dynamic section"

Alan Modra amodra@sourceware.org
Tue Oct 8 14:10:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7cb2dcb804d0af6b5fa9981907bc1f097730ac1b

commit 7cb2dcb804d0af6b5fa9981907bc1f097730ac1b
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Sep 30 14:04:08 2019 +0930

    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.
    
    (cherry picked from commit 663f67df1e8a7ac0ab8c8c577817067ca32ea4be)

Diff:
---
 binutils/ChangeLog | 8 ++++++++
 binutils/readelf.c | 6 +++---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 3babbb6..5de9732 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,11 @@
+2019-10-09  Alan Modra  <amodra@gmail.com>
+
+	Apply from master
+	2019-09-30  Alan Modra  <amodra@gmail.com>
+	PR 25046
+	* readelf.c (process_program_headers): Clear dynamic_addr and
+	dynamic_size earlier.
+
 2019-10-02  Niklas Gürtler  <profclonk@gmail.com>
 
 	PR 24942
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++)



More information about the Binutils-cvs mailing list