diff options
author | Nick Clifton <nickc@redhat.com> | 2017-07-27 12:04:50 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-07-27 12:04:50 +0100 |
commit | 8bdf0be19d2777565a8b1c88347f65d6a4b8c5fc (patch) | |
tree | 3837617a722ce5ec26a0e22c0e21169f47b5af0e /bfd/nlmcode.h | |
parent | 63d4980d60dd137996fa282ae1df2e3fcb4519ee (diff) | |
download | gdb-8bdf0be19d2777565a8b1c88347f65d6a4b8c5fc.zip gdb-8bdf0be19d2777565a8b1c88347f65d6a4b8c5fc.tar.gz gdb-8bdf0be19d2777565a8b1c88347f65d6a4b8c5fc.tar.bz2 |
Fix address violation issues encountered when parsing corrupt binaries.
PR 21840
* mach-o.c (bfd_mach_o_read_symtab_strtab): Fail if the symtab
size is -1.
* nlmcode.h (nlm_swap_auxiliary_headers_in): Replace assertion
with error return.
* section.c (bfd_make_section_with_flags): Fail if the name or bfd
are NULL.
* vms-alpha.c (bfd_make_section_with_flags): Correct computation
of end pointer.
(evax_bfd_print_emh): Check for invalid string lengths.
Diffstat (limited to 'bfd/nlmcode.h')
-rw-r--r-- | bfd/nlmcode.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bfd/nlmcode.h b/bfd/nlmcode.h index 6d6aed0..350c83e 100644 --- a/bfd/nlmcode.h +++ b/bfd/nlmcode.h @@ -351,7 +351,9 @@ nlm_swap_auxiliary_headers_in (bfd *abfd) bfd_byte *contents; bfd_byte *p, *pend; - BFD_ASSERT (hdrLength == 0 && hdr == NULL); + /* See PR 21840 for a reproducer. */ + if (hdrLength != 0 || hdr != NULL) + return FALSE; pos = bfd_tell (abfd); if (bfd_seek (abfd, dataOffset, SEEK_SET) != 0) |