Check corrupt input

PR ld/17713
	* elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input.
This commit is contained in:
H.J. Lu 2014-12-15 08:27:57 -08:00
parent 4992aa2019
commit 263ddf6802
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2014-12-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/17713
* elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input.
2014-12-13 H.J. Lu <hongjiu.lu@intel.com>
PR ld/17689

View File

@ -11860,6 +11860,12 @@ _bfd_elf_gc_mark_rsec (struct bfd_link_info *info, asection *sec,
|| ELF_ST_BIND (cookie->locsyms[r_symndx].st_info) != STB_LOCAL)
{
h = cookie->sym_hashes[r_symndx - cookie->extsymoff];
if (h == NULL)
{
info->callbacks->einfo (_("%F%P: corrupt input: %B\n"),
sec->owner);
return NULL;
}
while (h->root.type == bfd_link_hash_indirect
|| h->root.type == bfd_link_hash_warning)
h = (struct elf_link_hash_entry *) h->root.u.i.link;