Fix memory leak and dubious list manipulation. (Found by Ron Koerner,

Thu Jul 19 16:05:21 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gcompletion.c (g_completion_complete): Fix memory
	leak and dubious list manipulation. (Found by
	Ron Koerner, #53408)

	* glib/gfileutils.c (get_contents_stdio): Call fclose()
	on FILE * on error. (#57057)
This commit is contained in:
Owen Taylor 2001-07-19 20:17:03 +00:00 committed by Owen Taylor
parent 3fa620d4df
commit 83c4b0988e
2 changed files with 8 additions and 9 deletions

View File

@ -182,16 +182,14 @@ g_completion_complete (GCompletion* cmp,
list = cmp->cache;
while (list)
{
GList *next = list->next;
if (cmp->strncmp_func (prefix,
cmp->func ? cmp->func (list->data) : (gchar*) list->data,
len))
{
list = g_list_remove_link (cmp->cache, list);
if (list != cmp->cache)
cmp->cache = list;
}
else
list = list->next;
cmp->func ? cmp->func (list->data) : (gchar*) list->data,
len))
cmp->cache = g_list_delete_link (cmp->cache, list);
list = next;
}
done = TRUE;
}

View File

@ -309,6 +309,7 @@ get_contents_stdio (const gchar *filename,
filename, strerror (errno));
g_string_free (str, TRUE);
fclose (f);
return FALSE;
}