From: Tom Parker Date: Sat, 27 Jun 2009 02:43:31 +0000 (-0400) Subject: Add NULL to end of g_filename_complete_get_completions() return value X-Git-Tag: 2.21.3~36 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e7a258692c7ae3d9075d9ae1926c08c7ec771f04;p=platform%2Fupstream%2Fglib.git Add NULL to end of g_filename_complete_get_completions() return value g_filename_complete_get_completions() return value is meant to be a g_strfreev-compatible array i.e. NULL-terminated. However, pointer arrays aren't automagically NULL-terminated. This fixes bug 586868 --- diff --git a/gio/gfilenamecompleter.c b/gio/gfilenamecompleter.c index 459e302..5247677 100644 --- a/gio/gfilenamecompleter.c +++ b/gio/gfilenamecompleter.c @@ -470,7 +470,7 @@ g_filename_completer_get_completion_suffix (GFilenameCompleter *completer, **/ char ** g_filename_completer_get_completions (GFilenameCompleter *completer, - const char *initial_text) + const char *initial_text) { GList *possible_matches, *l; char *prefix; @@ -486,14 +486,16 @@ g_filename_completer_get_completions (GFilenameCompleter *completer, for (l = possible_matches; l != NULL; l = l->next) { possible_match = l->data; - + if (g_str_has_prefix (possible_match, prefix)) g_ptr_array_add (res, g_strconcat (initial_text, possible_match + strlen (prefix), NULL)); } g_free (prefix); - + + g_ptr_array_add (res, NULL); + return (char**)g_ptr_array_free (res, FALSE); }