Fix seg-fault in linker when passed a corrupt binary input file.

PR lf/20908
	* elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
	when following indirect links.
This commit is contained in:
Nick Clifton 2016-12-02 17:46:26 +00:00
parent 008459ea88
commit d7f399a8de
2 changed files with 10 additions and 0 deletions

View File

@ -1,5 +1,9 @@
2016-12-02 Nick Clifton <nickc@redhat.com>
PR lf/20908
* elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
when following indirect links.
PR ld/20909
* aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
for an illegal string offset.

View File

@ -11342,6 +11342,12 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
asection *sec;
sec = p->u.indirect.section;
/* See PR 20908 for a reproducer. */
if (bfd_get_flavour (sec->owner) != bfd_target_elf_flavour)
{
_bfd_error_handler (_("%B: not in ELF format"), sec->owner);
goto error_return;
}
esdi = elf_section_data (sec);
/* Mark all sections which are to be included in the