From 1f20ed9160677637385a3205c8acd3384ab1cee2 Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Fri, 17 Aug 2007 23:24:18 +0000 Subject: [PATCH] 2007-08-17 Michael Snyder * completer.c (location_completer): Must free 'fn_list', except in the one case where it is returned (as 'list'). --- gdb/ChangeLog | 3 +++ gdb/completer.c | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 821d62f614..3bc24acd93 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ 2007-08-17 Michael Snyder + * completer.c (location_completer): Must free 'fn_list', except + in the one case where it is returned (as 'list'). + * varobj.c (value_of_root): Memory leak. * gdbtypes.h (virtual_base_list): Remove export decl. diff --git a/gdb/completer.c b/gdb/completer.c index 617aa6a5d6..0a0d30e9bc 100644 --- a/gdb/completer.c +++ b/gdb/completer.c @@ -281,7 +281,8 @@ location_completer (char *text, char *word) list = make_symbol_completion_list (symbol_start, word); /* If text includes characters which cannot appear in a file name, they cannot be asking for completion on files. */ - if (strcspn (text, gdb_completer_file_name_break_characters) == text_len) + if (strcspn (text, + gdb_completer_file_name_break_characters) == text_len) fn_list = make_source_files_completion_list (text, text); } @@ -331,7 +332,10 @@ location_completer (char *text, char *word) /* No completions at all. As the final resort, try completing on the entire text as a symbol. */ list = make_symbol_completion_list (orig_text, word); + xfree (fn_list); } + else + xfree (fn_list); return list; }