Fix a snafu setting up the string table read in from a COFF file.

PR binutils/17512
	* coffgen.c (_bfd_coff_read_string_table): Test allocation of
	string table before clearing the first few bytes.
This commit is contained in:
Alexander Cherepanov 2014-11-21 11:19:49 +00:00 committed by Nick Clifton
parent 3cfdb7812c
commit cd11f78f81
2 changed files with 9 additions and 3 deletions

View file

@ -1,3 +1,9 @@
2014-11-21 Alexander Cherepanov <cherepan@mccme.ru>
PR binutils/17512
* coffgen.c (_bfd_coff_read_string_table): Test allocation of
string table before clearing the first few bytes.
2014-11-21 Terry Guo <terry.guo@arm.com>
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Support FPv5.

View file

@ -1711,15 +1711,15 @@ _bfd_coff_read_string_table (bfd *abfd)
}
strings = (char *) bfd_malloc (strsize + 1);
if (strings == NULL)
return NULL;
/* PR 17521 file: 079-54929-0.004.
A corrupt file could contain an index that points into the first
STRING_SIZE_SIZE bytes of the string table, so make sure that
they are zero. */
memset (strings, 0, STRING_SIZE_SIZE);
if (strings == NULL)
return NULL;
if (bfd_bread (strings + STRING_SIZE_SIZE, strsize - STRING_SIZE_SIZE, abfd)
!= strsize - STRING_SIZE_SIZE)
{