* 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).
This commit is contained in:
parent
b008b7bf76
commit
9d14250f9d
|
@ -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 <bothner@kalessin.cygnus.com>
|
Wed Oct 25 14:59:22 1995 Per Bothner <bothner@kalessin.cygnus.com>
|
||||||
|
|
||||||
* Makefile.in (diststuff): Don't make headers.
|
* Makefile.in (diststuff): Don't make headers.
|
||||||
|
|
11
bfd/som.c
11
bfd/som.c
|
@ -3840,7 +3840,8 @@ som_slurp_string_table (abfd)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Allocate and read in the string table. */
|
/* 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)
|
if (stringtab == NULL)
|
||||||
{
|
{
|
||||||
bfd_set_error (bfd_error_no_memory);
|
bfd_set_error (bfd_error_no_memory);
|
||||||
|
@ -3947,7 +3948,8 @@ som_slurp_symbol_table (abfd)
|
||||||
stringtab = obj_som_stringtab (abfd);
|
stringtab = obj_som_stringtab (abfd);
|
||||||
|
|
||||||
symbase = (som_symbol_type *)
|
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)
|
if (symbase == NULL)
|
||||||
{
|
{
|
||||||
bfd_set_error (bfd_error_no_memory);
|
bfd_set_error (bfd_error_no_memory);
|
||||||
|
@ -4087,8 +4089,8 @@ som_slurp_symbol_table (abfd)
|
||||||
sym++;
|
sym++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save our results and return success. */
|
/* Save our results and return success. */
|
||||||
obj_som_symtab (abfd) = symbase;
|
obj_som_symtab (abfd) = symbase;
|
||||||
successful_return:
|
successful_return:
|
||||||
if (buf != NULL)
|
if (buf != NULL)
|
||||||
free (buf);
|
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_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_openr_next_archived_file bfd_generic_openr_next_archived_file
|
||||||
#define som_generic_stat_arch_elt bfd_generic_stat_arch_elt
|
#define som_generic_stat_arch_elt bfd_generic_stat_arch_elt
|
||||||
#define som_truncate_arname bfd_bsd_truncate_arname
|
#define som_truncate_arname bfd_bsd_truncate_arname
|
||||||
|
|
Loading…
Reference in New Issue