diff options
author | Nick Clifton <nickc@redhat.com> | 2014-12-03 19:50:48 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2014-12-03 19:50:48 +0000 |
commit | db6b071a97893d5c7bf34e7fb171a0b710ea736d (patch) | |
tree | e6a0854550b4bd07b8aadfab2cb873e7f688ecd0 /bfd/compress.c | |
parent | 4759c34e128035e57b06a7b3d7c58f135061c6da (diff) | |
download | gdb-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 'bfd/compress.c')
-rw-r--r-- | bfd/compress.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/bfd/compress.c b/bfd/compress.c index 3fcbd78..a3a2f35 100644 --- a/bfd/compress.c +++ b/bfd/compress.c @@ -244,6 +244,8 @@ bfd_get_full_section_contents (bfd *abfd, sec_ptr sec, bfd_byte **ptr) #endif case COMPRESS_SECTION_DONE: + if (sec->contents == NULL) + return FALSE; if (p == NULL) { p = (bfd_byte *) bfd_malloc (sz); |