From 9d14250f9dd458e75fdb5da6072e791fe7b8b532 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 25 Oct 1995 22:23:33 +0000 Subject: [PATCH] * som.c (som_slurp_string_table): Allocate the strings with malloc since they're free'd by free_cached_info. (som_slurp_symbol_table): Similarly for the symbol table. Fixes crash (nm /lib/libc.a on hpux10). --- bfd/ChangeLog | 6 ++++++ bfd/som.c | 11 +++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 61cb983b454..85c48e6a823 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +Wed Oct 25 16:19:27 1995 Jeffrey A Law (law@cygnus.com) + + * som.c (som_slurp_string_table): Allocate the strings with malloc + since they're free'd by free_cached_info. + (som_slurp_symbol_table): Similarly for the symbol table. + Wed Oct 25 14:59:22 1995 Per Bothner * Makefile.in (diststuff): Don't make headers. diff --git a/bfd/som.c b/bfd/som.c index dfba504bce3..8a788d74c4e 100644 --- a/bfd/som.c +++ b/bfd/som.c @@ -3840,7 +3840,8 @@ som_slurp_string_table (abfd) } /* Allocate and read in the string table. */ - stringtab = bfd_zalloc (abfd, obj_som_stringtab_size (abfd)); + stringtab = malloc (obj_som_stringtab_size (abfd)); + bzero (stringtab, obj_som_stringtab_size (abfd)); if (stringtab == NULL) { bfd_set_error (bfd_error_no_memory); @@ -3947,7 +3948,8 @@ som_slurp_symbol_table (abfd) stringtab = obj_som_stringtab (abfd); symbase = (som_symbol_type *) - bfd_zalloc (abfd, symbol_count * sizeof (som_symbol_type)); + malloc (symbol_count * sizeof (som_symbol_type)); + bzero (symbase, symbol_count * sizeof (som_symbol_type)); if (symbase == NULL) { bfd_set_error (bfd_error_no_memory); @@ -4087,8 +4089,8 @@ som_slurp_symbol_table (abfd) sym++; } - /* Save our results and return success. */ - obj_som_symtab (abfd) = symbase; + /* Save our results and return success. */ + obj_som_symtab (abfd) = symbase; successful_return: if (buf != NULL) free (buf); @@ -5964,6 +5966,7 @@ som_bfd_link_split_section (abfd, sec) #define som_close_and_cleanup som_bfd_free_cached_info +#define som_read_ar_hdr _bfd_generic_read_ar_hdr #define som_openr_next_archived_file bfd_generic_openr_next_archived_file #define som_generic_stat_arch_elt bfd_generic_stat_arch_elt #define som_truncate_arname bfd_bsd_truncate_arname -- 2.30.2