Fix memory access violations triggered by running dlltool on corrupt binaries.

PR binutils/17512
	* dlltool.c (identify_search_archive): If the last archive was the
	same as the current archive, terminate the loop.

	* pdp11.c (aout_get_external_symbols): Return false if there are
	no symbols.
This commit is contained in:
Nick Clifton
2015-01-27 11:30:15 +00:00
parent 20d79870f3
commit 37e3922eed
4 changed files with 24 additions and 1 deletions

View File

@ -3589,7 +3589,15 @@ identify_search_archive (bfd * abfd,
}
if (last_arfile != NULL)
bfd_close (last_arfile);
{
bfd_close (last_arfile);
/* PR 17512: file: 8b2168d4. */
if (last_arfile == arfile)
{
last_arfile = NULL;
break;
}
}
last_arfile = arfile;
}