aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/valops.c5
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);
}