mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 20:49:43 +00:00
* dwarfread.c (free_utypes): New function.
(read_file_scope): Call free_utypes as cleanup, rather than just freeing the utypes pointer.
This commit is contained in:
parent
cba3f8a9be
commit
4a1d2ce2ab
@ -1,3 +1,9 @@
|
||||
Fri Feb 16 10:02:34 1996 Fred Fish <fnf@cygnus.com>
|
||||
|
||||
* dwarfread.c (free_utypes): New function.
|
||||
(read_file_scope): Call free_utypes as cleanup, rather than just
|
||||
freeing the utypes pointer.
|
||||
|
||||
Thu Feb 15 21:40:52 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||||
|
||||
* demangle.c (is_cplus_marker): New function, checks if a
|
||||
|
@ -894,6 +894,33 @@ alloc_utype (die_ref, utypep)
|
||||
return (utypep);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
LOCAL FUNCTION
|
||||
|
||||
free_utypes -- free the utypes array and reset pointer & count
|
||||
|
||||
SYNOPSIS
|
||||
|
||||
static void free_utypes (PTR dummy)
|
||||
|
||||
DESCRIPTION
|
||||
|
||||
Called via do_cleanups to free the utypes array, reset the pointer to NULL,
|
||||
and set numutypes back to zero. This ensures that the utypes does not get
|
||||
referenced after being freed.
|
||||
*/
|
||||
|
||||
static void
|
||||
free_utypes (dummy)
|
||||
PTR dummy;
|
||||
{
|
||||
free (utypes);
|
||||
utypes = NULL;
|
||||
numutypes = 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
||||
LOCAL FUNCTION
|
||||
@ -1935,7 +1962,7 @@ read_file_scope (dip, thisdie, enddie, objfile)
|
||||
}
|
||||
numutypes = (enddie - thisdie) / 4;
|
||||
utypes = (struct type **) xmalloc (numutypes * sizeof (struct type *));
|
||||
back_to = make_cleanup (free, utypes);
|
||||
back_to = make_cleanup (free_utypes, NULL);
|
||||
memset (utypes, 0, numutypes * sizeof (struct type *));
|
||||
memset (ftypes, 0, FT_NUM_MEMBERS * sizeof (struct type *));
|
||||
start_symtab (dip -> at_name, dip -> at_comp_dir, dip -> at_low_pc);
|
||||
@ -1948,8 +1975,6 @@ read_file_scope (dip, thisdie, enddie, objfile)
|
||||
symtab -> language = cu_language;
|
||||
}
|
||||
do_cleanups (back_to);
|
||||
utypes = NULL;
|
||||
numutypes = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user