diff options
author | Nick Clifton <nickc@redhat.com> | 2014-11-13 17:46:11 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2014-11-13 17:46:11 +0000 |
commit | a5c71af8d3c7c535f27614947f72883233658706 (patch) | |
tree | efbc4ad3fc157bae2596150b4142c8f015a2967f /bfd/archive.c | |
parent | 09bc6c722493047fb50e8a7e70e028023eff8f32 (diff) | |
download | fsf-binutils-gdb-a5c71af8d3c7c535f27614947f72883233658706.zip fsf-binutils-gdb-a5c71af8d3c7c535f27614947f72883233658706.tar.gz fsf-binutils-gdb-a5c71af8d3c7c535f27614947f72883233658706.tar.bz2 |
More fixes for memory access violations whilst scanning corrupt binaries.
PR binutils/17512
* config/obj-coff.c (coff_obj_symbol_new_hook): Set the is_sym
field.
* coffcode.h (coff_ptr_struct): Add is_sym field.
(coff_new_section_hook): Set the is_sym field.
(coff_pointerize_aux_hook): Check the is_sym field.
(coff_print_aux): Likewise.
(coff_compute_section_file_positions): Likewise.
(coff_write_object_contents): Likewise.
(coff_slurp_line_table): Likewise.
(coff_slurp_symbol_table): Likewise.
(CALC_ADDEND): Likewise.
* coffgen.c (coff_renumber_symbols): Likewise.
(coff_mangle_symbols): Likewise.
(coff_fix_symbol_name): Likewise.
(coff_write_symbol): Likewise.
(coff_write_alien_symbol): Likewise.
(coff_write_native_symbol): Likewise.
(coff_write_symbols): Likewise.
(coff_write_linenumbers): Likewise.
(coff_pointerize_aux): Likewise.
(coff_get_normalized_symtab): Likewise.
(coff_get_symbol_info): Likewise.
(bfd_coff_get_syment): Likewise.
(bfd_coff_get_auxent): Likewise.
(coff_print_symbol): Likewise.
(coff_find_nearest_line_with_names): Likewise.
(bfd_coff_set_symbol_class): Likewise.
(coff_make_empty_symbol): Set the is_sym field.
(coff_bfd_make_debug_symbol): Likewise.
* peicode.h (pe_ILF_make_a_symbol): Likewise.
* libcoff.h: Regenerate.
* libcoff-in.h: Regenerate.
Diffstat (limited to 'bfd/archive.c')
-rw-r--r-- | bfd/archive.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/bfd/archive.c b/bfd/archive.c index 9e94745..df37996 100644 --- a/bfd/archive.c +++ b/bfd/archive.c @@ -1310,6 +1310,7 @@ _bfd_slurp_extended_name_table (bfd *abfd) if (bfd_get_error () != bfd_error_system_call) bfd_set_error (bfd_error_malformed_archive); bfd_release (abfd, (bfd_ardata (abfd)->extended_names)); + bfd_ardata (abfd)->extended_names = NULL; goto byebye; } |