core: minor memleak fixes

Fix several memory leaks when uri obtained by g_file_get_uri ()
was not g_free'd ().
This commit is contained in:
Stanislav Grinkov 2021-05-08 23:20:46 +06:00
parent 8c54a0caa9
commit f8320ce535
No known key found for this signature in database
GPG Key ID: F9FF16FBCBF58578
3 changed files with 37 additions and 10 deletions

View File

@ -181,6 +181,8 @@ file_utils_load_thumbnail (GFile *file)
thumbnail = gimp_thumbnail_new ();
gimp_thumbnail_set_uri (thumbnail, uri);
g_free (uri);
pixbuf = gimp_thumbnail_load_thumb (thumbnail,
(GimpThumbSize) GIMP_THUMBNAIL_SIZE_NORMAL,
NULL);

View File

@ -337,8 +337,12 @@ gimp_check_updates_callback (GObject *source,
parser = json_parser_new ();
if (! json_parser_load_from_data (parser, file_contents, file_length, &error))
{
gchar *uri = g_file_get_uri (G_FILE (source));
g_printerr ("%s: parsing of %s failed: %s\n", G_STRFUNC,
g_file_get_uri (G_FILE (source)), error->message);
uri, error->message);
g_free (uri);
g_free (file_contents);
g_clear_object (&parser);
g_clear_error (&error);
@ -387,8 +391,12 @@ gimp_check_updates_callback (GObject *source,
}
else
{
g_printerr("%s: loading of %s failed: %s\n", G_STRFUNC,
g_file_get_uri (G_FILE (source)), error->message);
gchar *uri = g_file_get_uri (G_FILE (source));
g_printerr ("%s: loading of %s failed: %s\n", G_STRFUNC,
uri, error->message);
g_free (uri);
g_clear_error (&error);
}
}

View File

@ -977,22 +977,39 @@ load_image (GFile *file,
if (pages.target == GIMP_PAGE_SELECTOR_TARGET_IMAGES)
{
gchar *fname = g_strdup_printf ("%s-%d", g_file_get_uri (file),
ilayer);
gchar *uri;
gchar *fname;
GFile *new_file;
gimp_image_set_file (*image, g_file_new_for_uri (fname));
uri = g_file_get_uri (file);
fname = g_strdup_printf ("%s-%d", uri, ilayer);
new_file = g_file_new_for_uri (fname);
gimp_image_set_file (*image, new_file);
g_free (uri);
g_free (fname);
g_object_unref (new_file);
images_list = g_list_prepend (images_list, *image);
}
else if (pages.o_pages != pages.n_pages)
{
gchar *fname = g_strdup_printf (_("%s-%d-of-%d-pages"),
g_file_get_uri (file),
pages.n_pages, pages.o_pages);
gchar *uri;
gchar *fname;
GFile *new_file;
gimp_image_set_file (*image, g_file_new_for_uri (fname));
uri = g_file_get_uri (file);
fname = g_strdup_printf (_("%s-%d-of-%d-pages"),
uri,
pages.n_pages, pages.o_pages);
new_file = g_file_new_for_uri (fname);
gimp_image_set_file (*image, new_file);
g_free (uri);
g_free (fname);
g_object_unref (new_file);
}
else
{