diff options
author | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2016-03-29 20:39:15 +0100 |
---|---|---|
committer | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2016-03-29 20:39:15 +0100 |
commit | de92984250bc45388b819b9879a857029c8847e6 (patch) | |
tree | dd5aede253d16ad922c60ad3ab516b7f8a2eafc0 | |
parent | c16628bd6c9170e0cebdbef6fcf1e808901429fa (diff) |
Assert we don't access htab->stub_group out of rangeusers/ARM/embedded-binutils-2_26-branch-2016q1
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.
-rw-r--r-- | bfd/ChangeLog.arm | 7 | ||||
-rw-r--r-- | bfd/elf32-arm.c | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/bfd/ChangeLog.arm b/bfd/ChangeLog.arm index 65e8b446195..5c7a08844de 100644 --- a/bfd/ChangeLog.arm +++ b/bfd/ChangeLog.arm @@ -1,5 +1,12 @@ 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 the input import library bfd. * bfd-in2.h: Regenerate. diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 1bbcef0f1bc..65570904824 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -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; |