2016-08-26 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.
This commit is contained in:
Thomas Preud'homme 2016-08-26 12:01:47 +01:00
parent 1a336194b7
commit c2abbbebcc
2 changed files with 10 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2016-08-26 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-08-26 Cupertino Miranda <cmiranda@synopsys.com> 2016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
* elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate

View file

@ -4244,6 +4244,7 @@ elf32_arm_get_stub_entry (const asection *input_section,
Stub names need to include a section id, as there may well be 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 more than one stub used to reach say, printf, and we need to
distinguish between them. */ distinguish between them. */
BFD_ASSERT (input_section->id <= htab->top_id);
id_sec = htab->stub_group[input_section->id].link_sec; id_sec = htab->stub_group[input_section->id].link_sec;
if (h != NULL && h->stub_cache != NULL if (h != NULL && h->stub_cache != NULL
@ -4401,6 +4402,7 @@ elf32_arm_create_or_find_stub_sec (asection **link_sec_p, asection *section,
} }
else else
{ {
BFD_ASSERT (section->id <= htab->top_id);
link_sec = htab->stub_group[section->id].link_sec; link_sec = htab->stub_group[section->id].link_sec;
BFD_ASSERT (link_sec != NULL); BFD_ASSERT (link_sec != NULL);
stub_sec_p = &htab->stub_group[section->id].stub_sec; stub_sec_p = &htab->stub_group[section->id].stub_sec;
@ -5494,6 +5496,7 @@ elf32_arm_create_stub (struct elf32_arm_link_hash_table *htab,
{ {
BFD_ASSERT (irela); BFD_ASSERT (irela);
BFD_ASSERT (section); BFD_ASSERT (section);
BFD_ASSERT (section->id <= htab->top_id);
/* Support for grouping stub sections. */ /* Support for grouping stub sections. */
id_sec = htab->stub_group[section->id].link_sec; id_sec = htab->stub_group[section->id].link_sec;