From: Thomas Preud'homme Date: Tue, 29 Mar 2016 19:39:15 +0000 (+0100) Subject: Assert we don't access htab->stub_group out of range X-Git-Tag: users/ARM/embedded-binutils-2_26-branch-2016q1^0 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=de92984250bc45388b819b9879a857029c8847e6;p=thirdparty%2Fbinutils-gdb.git Assert we don't access htab->stub_group out of range 2016-03-29 Thomas Preud'homme 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. --- diff --git a/bfd/ChangeLog.arm b/bfd/ChangeLog.arm index 65e8b446195..5c7a08844de 100644 --- a/bfd/ChangeLog.arm +++ b/bfd/ChangeLog.arm @@ -1,3 +1,10 @@ +2016-03-29 Thomas Preud'homme + + * 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 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for 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;