Fix memory access problems exposed by fuzzed binaries.

PR binutils/17512
	* objdump.c (free_debug_section): Reset the compress_status as
	well.

	* compress.c (bfd_get_full_section_contents): Fail if there are no
	section contents available when the compress_status is
	COMPRESS_SECTION_DONE.
	* libbfd.c (bfd_malloc): Refuse to allocate a negative size.
	(bfd_malloc2): Use bfd_malloc.
	(bfd_realloc): Refuse to reallocate a negative size.
	(bfd_realloc2): Use bfd_realloc.
	(bfd_realloc_or_free): Use bfd_realloc.
	(bfd_zmalloc): Use bfd_malloc.
	(bfd_zmalloc): Use bfd_malloc2.
	* opncls.c (bfd_alloc): Refuse to allocate a negative size.
This commit is contained in:
Nick Clifton 2014-12-03 19:50:48 +00:00
parent 4759c34e12
commit db6b071a97
6 changed files with 61 additions and 104 deletions

View file

@ -2360,6 +2360,7 @@ free_debug_section (enum dwarf_section_display_enum debug)
{
sec->contents = NULL;
sec->flags &= ~ SEC_IN_MEMORY;
sec->compress_status = COMPRESS_SECTION_NONE;
}
}