From: John Darrington <john@darrington.wattle.id.au>
Date: Sun, 30 Aug 2015 15:06:15 +0000 (+0200)
Subject: Encoding selector: fix memory leak
X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a7b8a6b4284d2061fe5dea1a3243217a3b8b0e2;p=pspp

Encoding selector: fix memory leak
---

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;
 }