aboutsummaryrefslogtreecommitdiff
path: root/binutils/objdump.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2014-12-03 19:50:48 +0000
committerNick Clifton <nickc@redhat.com>2014-12-03 19:50:48 +0000
commitdb6b071a97893d5c7bf34e7fb171a0b710ea736d (patch)
treee6a0854550b4bd07b8aadfab2cb873e7f688ecd0 /binutils/objdump.c
parent4759c34e128035e57b06a7b3d7c58f135061c6da (diff)
downloadgdb-db6b071a97893d5c7bf34e7fb171a0b710ea736d.zip
gdb-db6b071a97893d5c7bf34e7fb171a0b710ea736d.tar.gz
gdb-db6b071a97893d5c7bf34e7fb171a0b710ea736d.tar.bz2
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.
Diffstat (limited to 'binutils/objdump.c')
-rw-r--r--binutils/objdump.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/binutils/objdump.c b/binutils/objdump.c
index b13bf00..b43d111 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -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;
}
}