mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-03 14:42:10 +01:00
Don't leak memory here.
2005-06-23 Matthias Clasen <mclasen@redhat.com> * tests/keyfile-test.c (test_group_remove): Don't leak memory here. * glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't leak output_path. (#308546, Kjartan Maraas)
This commit is contained in:
parent
f3a61fe4a0
commit
58f83683e9
@ -1,5 +1,8 @@
|
||||
2005-06-23 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* tests/keyfile-test.c (test_group_remove): Don't leak
|
||||
memory here.
|
||||
|
||||
* glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't
|
||||
leak output_path. (#308546, Kjartan Maraas)
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
2005-06-23 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* tests/keyfile-test.c (test_group_remove): Don't leak
|
||||
memory here.
|
||||
|
||||
* glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't
|
||||
leak output_path. (#308546, Kjartan Maraas)
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
2005-06-23 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* tests/keyfile-test.c (test_group_remove): Don't leak
|
||||
memory here.
|
||||
|
||||
* glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't
|
||||
leak output_path. (#308546, Kjartan Maraas)
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
2005-06-23 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* tests/keyfile-test.c (test_group_remove): Don't leak
|
||||
memory here.
|
||||
|
||||
* glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't
|
||||
leak output_path. (#308546, Kjartan Maraas)
|
||||
|
||||
|
@ -587,8 +587,11 @@ g_key_file_load_from_data_dirs (GKeyFile *key_file,
|
||||
|
||||
found_file = FALSE;
|
||||
data_dirs = all_data_dirs;
|
||||
output_path = NULL;
|
||||
while (*data_dirs != NULL && !found_file)
|
||||
{
|
||||
g_free (output_path);
|
||||
|
||||
fd = find_file_in_data_dirs (file, &output_path, &data_dirs,
|
||||
&key_file_error);
|
||||
|
||||
@ -596,7 +599,7 @@ g_key_file_load_from_data_dirs (GKeyFile *key_file,
|
||||
{
|
||||
if (key_file_error)
|
||||
g_propagate_error (error, key_file_error);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
found_file = g_key_file_load_from_fd (key_file, fd, flags,
|
||||
@ -606,16 +609,15 @@ g_key_file_load_from_data_dirs (GKeyFile *key_file,
|
||||
if (key_file_error)
|
||||
{
|
||||
g_propagate_error (error, key_file_error);
|
||||
g_free (output_path);
|
||||
break;
|
||||
}
|
||||
|
||||
if (full_path)
|
||||
*full_path = output_path;
|
||||
else
|
||||
g_free (output_path);
|
||||
}
|
||||
|
||||
if (found_file && full_path)
|
||||
*full_path = output_path;
|
||||
else
|
||||
g_free (output_path);
|
||||
|
||||
g_strfreev (all_data_dirs);
|
||||
|
||||
return found_file;
|
||||
|
@ -708,6 +708,8 @@ test_group_remove (void)
|
||||
g_key_file_remove_group (keyfile, "group1", &error);
|
||||
check_no_error (&error);
|
||||
|
||||
g_strfreev (names);
|
||||
|
||||
names = g_key_file_get_groups (keyfile, &len);
|
||||
if (names == NULL)
|
||||
{
|
||||
@ -722,6 +724,8 @@ test_group_remove (void)
|
||||
g_key_file_remove_group (keyfile, "group2", &error);
|
||||
check_no_error (&error);
|
||||
|
||||
g_strfreev (names);
|
||||
|
||||
names = g_key_file_get_groups (keyfile, &len);
|
||||
if (names == NULL)
|
||||
{
|
||||
@ -735,6 +739,8 @@ test_group_remove (void)
|
||||
g_key_file_remove_group (keyfile, "no such group", &error);
|
||||
check_error (&error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_GROUP_NOT_FOUND);
|
||||
|
||||
g_strfreev (names);
|
||||
|
||||
g_key_file_free (keyfile);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user