PR25046, readelf "Reading xxx bytes extends past end of file for dynamic section"
authorAlan Modra <amodra@gmail.com>
Mon, 30 Sep 2019 04:34:08 +0000 (14:04 +0930)
committerAlan Modra <amodra@gmail.com>
Tue, 8 Oct 2019 14:00:52 +0000 (00:30 +1030)
PR 25046
* readelf.c (process_program_headers): Clear dynamic_addr and
dynamic_size earlier.

(cherry picked from commit 663f67df1e8a7ac0ab8c8c577817067ca32ea4be)

binutils/ChangeLog
binutils/readelf.c

index 3babbb6..5de9732 100644 (file)
@@ -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
index cc16816..0962877 100644 (file)
@@ -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++)