From 0a7b8a6b4284d2061fe5dea1a3243217a3b8b0e2 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Sun, 30 Aug 2015 17:06:15 +0200 Subject: [PATCH] Encoding selector: fix memory leak --- src/ui/gui/psppire-encoding-selector.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ui/gui/psppire-encoding-selector.c b/src/ui/gui/psppire-encoding-selector.c index 5b2d082b10..536f3a5952 100644 --- a/src/ui/gui/psppire-encoding-selector.c +++ b/src/ui/gui/psppire-encoding-selector.c @@ -191,9 +191,9 @@ gchar * psppire_encoding_selector_get_encoding (GtkWidget *selector) { gchar *encoding = NULL; - GList *list, *pos; + GList *pos; + GList *list = gtk_container_get_children (GTK_CONTAINER (selector)); - list = gtk_container_get_children (GTK_CONTAINER (selector)); for (pos = list; pos; pos = pos->next) { GtkWidget *widget = pos->data; @@ -210,7 +210,14 @@ psppire_encoding_selector_get_encoding (GtkWidget *selector) break; } } + g_list_free (list); - return encoding && !strcmp (encoding, "Auto") ? NULL : encoding; + if (0 == strcmp (encoding, "Auto")) + { + g_free (encoding); + return NULL; + } + + return encoding; } -- 2.30.2