mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-26 05:56:14 +01:00
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
This commit is contained in:
parent
657d0ad918
commit
e7a258692c
@ -470,7 +470,7 @@ g_filename_completer_get_completion_suffix (GFilenameCompleter *completer,
|
|||||||
**/
|
**/
|
||||||
char **
|
char **
|
||||||
g_filename_completer_get_completions (GFilenameCompleter *completer,
|
g_filename_completer_get_completions (GFilenameCompleter *completer,
|
||||||
const char *initial_text)
|
const char *initial_text)
|
||||||
{
|
{
|
||||||
GList *possible_matches, *l;
|
GList *possible_matches, *l;
|
||||||
char *prefix;
|
char *prefix;
|
||||||
@ -486,14 +486,16 @@ g_filename_completer_get_completions (GFilenameCompleter *completer,
|
|||||||
for (l = possible_matches; l != NULL; l = l->next)
|
for (l = possible_matches; l != NULL; l = l->next)
|
||||||
{
|
{
|
||||||
possible_match = l->data;
|
possible_match = l->data;
|
||||||
|
|
||||||
if (g_str_has_prefix (possible_match, prefix))
|
if (g_str_has_prefix (possible_match, prefix))
|
||||||
g_ptr_array_add (res,
|
g_ptr_array_add (res,
|
||||||
g_strconcat (initial_text, possible_match + strlen (prefix), NULL));
|
g_strconcat (initial_text, possible_match + strlen (prefix), NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free (prefix);
|
g_free (prefix);
|
||||||
|
|
||||||
|
g_ptr_array_add (res, NULL);
|
||||||
|
|
||||||
return (char**)g_ptr_array_free (res, FALSE);
|
return (char**)g_ptr_array_free (res, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user