]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Assert we don't access htab->stub_group out of range users/ARM/embedded-binutils-2_26-branch-2016q1
authorThomas Preud'homme <thomas.preudhomme@arm.com>
Tue, 29 Mar 2016 19:39:15 +0000 (20:39 +0100)
committerThomas Preud'homme <thomas.preudhomme@arm.com>
Tue, 29 Mar 2016 19:39:15 +0000 (20:39 +0100)
2016-03-29  Thomas Preud'homme  <thomas.preudhomme@arm.com>

bfd/
* elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
passed the end of htab->stub_group array.
(elf32_arm_create_or_find_stub_sec): Likewise.
(elf32_arm_create_stub): Likewise.

bfd/ChangeLog.arm
bfd/elf32-arm.c

index 65e8b4461959b292ff65b79e22720d6a47e586ec..5c7a08844dec4742fc91dc588f3e01411c2674e7 100644 (file)
@@ -1,3 +1,10 @@
+2016-03-29  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
+       passed the end of htab->stub_group array.
+       (elf32_arm_create_or_find_stub_sec): Likewise.
+       (elf32_arm_create_stub): Likewise.
+
 2016-03-29  Thomas Preud'homme  <thomas.preudhomme@arm.com>
 
        * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
index 1bbcef0f1bc2f6f3382afb3c35f25d4a8b463546..65570904824dd766f550a42506fba02d8e5b3961 100644 (file)
@@ -4076,6 +4076,7 @@ elf32_arm_get_stub_entry (const asection *input_section,
      Stub names need to include a section id, as there may well be
      more than one stub used to reach say, printf, and we need to
      distinguish between them.  */
+  BFD_ASSERT (input_section->id <= htab->top_id);
   id_sec = htab->stub_group[input_section->id].link_sec;
 
   if (h != NULL && h->stub_cache != NULL
@@ -4233,6 +4234,7 @@ elf32_arm_create_or_find_stub_sec (asection **link_sec_p, asection *section,
     }
   else
     {
+      BFD_ASSERT (section->id <= htab->top_id);
       link_sec = htab->stub_group[section->id].link_sec;
       BFD_ASSERT (link_sec != NULL);
       stub_sec_p = &htab->stub_group[section->id].stub_sec;
@@ -5342,6 +5344,7 @@ elf32_arm_create_stub (struct elf32_arm_link_hash_table *htab,
     {
       BFD_ASSERT (irela);
       BFD_ASSERT (section);
+      BFD_ASSERT (section->id <= htab->top_id);
 
       /* Support for grouping stub sections.  */
       id_sec = htab->stub_group[section->id].link_sec;