diff options
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/valops.c | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 904f934..da434f3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2002-07-10 Daniel Jacobowitz <drow@mvista.com> + + * valops.c (find_overload_match): Free oload_syms. + 2002-07-09 Joel Brobecker <brobecker@gnat.com> Define HAVE_SYS_PROC_H if sys/proc.h exists diff --git a/gdb/valops.c b/gdb/valops.c index df42e09..e4c1db4 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); } |