Prevent a bigus warning from readelf about a gdb-index table being too big.
authorJohn Delsignor <john.delsignore@roguewave.com>
Mon, 10 Apr 2017 15:27:05 +0000 (16:27 +0100)
committerNick Clifton <nickc@redhat.com>
Mon, 10 Apr 2017 15:27:05 +0000 (16:27 +0100)
PR binutils/21319
* dwarf.c (display_gdb_index): Correct test for a corrupt address
table size.

binutils/ChangeLog
binutils/dwarf.c

index 5323e6a..1c8d1aa 100644 (file)
@@ -1,3 +1,9 @@
+2017-04-10  John Delsignor  <john.delsignore@roguewave.com>
+
+       PR binutils/21319
+       * dwarf.c (display_gdb_index): Correct test for a corrupt address
+       table size.
+
 2017-04-05  Jiong Wang  <jiong.wang@arm.com>
 
        * objcopy.c (struct redefine_node): Delete the field "next".
index fdfbc16..559d6f8 100644 (file)
@@ -7670,7 +7670,7 @@ display_gdb_index (struct dwarf_section *section,
   symbol_table = start + symbol_table_offset;
   constant_pool = start + constant_pool_offset;
 
-  if (address_table + address_table_size * (2 + 8 + 4) > section->start + section->size)
+  if (address_table + address_table_size > section->start + section->size)
     {
       warn (_("Address table extends beyond end of section.\n"));
       return 0;