Fixes for memory access violations in the coffdump program.

PR binutils/17512
	* coffdump.c (dump_coff_section): Check for a symbol being
	available before printing its name.
	(main): Check the return value from coff_grok.
	* coffgrok.c: Reformat and tidy.
	Add range checks to most functions.
	(coff_grok): Return NULL if the input bfd is not in a COFF
	format.
	* coffgrok.h: Reformat and tidy.
	(struct coff_section): Change the nrelocs field to unsigned.
	* srconv.c (main): Check the return value from coff_grok.

	* coff-i860.c (CALC_ADDEND): Always set an addend value.
	* tekhex.c (getvalue): Add an end pointer parameter.  Use it to
	avoid reading off the end of the buffer.
	(getsym): Likewise.
	(first_phase): Likewise.
	(pass_over): Pass an end pointer to the invoked function.
This commit is contained in:
Nick Clifton
2015-01-06 16:06:45 +00:00
parent fce10a8494
commit 85880250e5
8 changed files with 418 additions and 274 deletions

View File

@ -1883,10 +1883,12 @@ main (int ac, char **av)
printf ("ids %d %d\n", base1, base2);
tree = coff_grok (abfd);
if (tree)
{
if (!noprescan)
prescan (tree);
if (!noprescan)
prescan (tree);
wr_module (tree);
wr_module (tree);
}
return 0;
}