aboutsummaryrefslogtreecommitdiff
path: root/bfd/section.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2017-07-27 12:04:50 +0100
committerNick Clifton <nickc@redhat.com>2017-07-27 12:04:50 +0100
commit8bdf0be19d2777565a8b1c88347f65d6a4b8c5fc (patch)
tree3837617a722ce5ec26a0e22c0e21169f47b5af0e /bfd/section.c
parent63d4980d60dd137996fa282ae1df2e3fcb4519ee (diff)
downloadgdb-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/section.c')
-rw-r--r--bfd/section.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bfd/section.c b/bfd/section.c
index 28eee7f..811d42a 100644
--- a/bfd/section.c
+++ b/bfd/section.c
@@ -1240,7 +1240,7 @@ bfd_make_section_with_flags (bfd *abfd, const char *name,
struct section_hash_entry *sh;
asection *newsect;
- if (abfd->output_has_begun)
+ if (abfd == NULL || name == NULL || abfd->output_has_begun)
{
bfd_set_error (bfd_error_invalid_operation);
return NULL;