diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 904f9348c4..da434f38a6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2002-07-10 Daniel Jacobowitz + + * valops.c (find_overload_match): Free oload_syms. + 2002-07-09 Joel Brobecker Define HAVE_SYS_PROC_H if sys/proc.h exists diff --git a/gdb/valops.c b/gdb/valops.c index df42e097bd..e4c1db423a 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -2707,6 +2707,7 @@ find_overload_match (struct type **arg_types, int nargs, char *name, int method, register int jj; register int ix; int static_offset; + struct cleanup *cleanups = NULL; char *obj_type_name = NULL; char *func_name = NULL; @@ -2748,6 +2749,7 @@ find_overload_match (struct type **arg_types, int nargs, char *name, int method, } oload_syms = make_symbol_overload_list (fsym); + cleanups = make_cleanup (xfree, oload_syms); while (oload_syms[++i]) num_fns++; if (!num_fns) @@ -2904,6 +2906,9 @@ find_overload_match (struct type **arg_types, int nargs, char *name, int method, } *objp = temp; } + if (cleanups != NULL) + do_cleanups (cleanups); + return oload_incompatible ? 100 : (oload_non_standard ? 10 : 0); }