From: Barnabás Pőcze Date: Tue, 7 Mar 2023 23:28:25 +0000 (+0100) Subject: filechooser: Fix memory leaks X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~5^2~42^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f0e4293b8392c9d95ba3f98efb117b5ca411325c;p=gtk4.git filechooser: Fix memory leaks The returned strings from `file_chooser_get_location()` were never freed. --- diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c index 9f084a6e77..2ab5050fd4 100644 --- a/gtk/gtkfilechooserwidget.c +++ b/gtk/gtkfilechooserwidget.c @@ -6989,15 +6989,20 @@ location_sort_func (gconstpointer a, gpointer user_data) { GtkFileChooserWidget *impl = user_data; + char *location_a, *location_b; char *key_a, *key_b; GtkOrdering result; /* FIXME: use sortkeys for these */ - key_a = g_utf8_collate_key_for_filename (file_chooser_get_location (impl, (GFileInfo *)a), -1); - key_b = g_utf8_collate_key_for_filename (file_chooser_get_location (impl, (GFileInfo *)b), -1); + location_a = file_chooser_get_location (impl, (GFileInfo *)a); + location_b = file_chooser_get_location (impl, (GFileInfo *)b); + key_a = g_utf8_collate_key_for_filename (location_a, -1); + key_b = g_utf8_collate_key_for_filename (location_b, -1); result = g_strcmp0 (key_a, key_b); + g_free (location_a); + g_free (location_b); g_free (key_a); g_free (key_b);