From: H.J. Lu Date: Mon, 15 Dec 2014 16:27:57 +0000 (-0800) Subject: Check corrupt input X-Git-Tag: binutils-2_25~15 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Fbinutils.git;a=commitdiff_plain;h=4fb6d98c92870d7f693667267bbb3ef427e1c976 Check corrupt input PR ld/17713 * elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0ebd6d7..a4af0be 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2014-12-15 H.J. Lu + + PR ld/17713 + * elflink.c (_bfd_elf_gc_mark_rsec): Check corrupt input. + 2014-12-13 H.J. Lu PR ld/17689 diff --git a/bfd/elflink.c b/bfd/elflink.c index c964a98..94ab762 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -11683,6 +11683,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;