[gnome-online-accounts/gnome-3-20] kerberos: Don't leak the name_owner



commit 8aaae30772acb0e52ed50d8dd2e3e2738810a40f
Author: Debarshi Ray <debarshir gnome org>
Date:   Fri Mar 3 19:39:10 2017 +0100

    kerberos: Don't leak the name_owner
    
    https://bugzilla.gnome.org/show_bug.cgi?id=779548

 src/goabackend/goakerberosprovider.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/src/goabackend/goakerberosprovider.c b/src/goabackend/goakerberosprovider.c
index 3624164..c86b1c3 100644
--- a/src/goabackend/goakerberosprovider.c
+++ b/src/goabackend/goakerberosprovider.c
@@ -1325,11 +1325,14 @@ dbus_proxy_reload_properties_sync (GDBusProxy    *proxy,
 {
   GVariant *result;
   char *name;
+  char *name_owner = NULL;
   GVariant *value;
   GVariantIter *iter;
+  gboolean ret = FALSE;
 
+  name_owner = g_dbus_proxy_get_name_owner (proxy);
   result = g_dbus_connection_call_sync (g_dbus_proxy_get_connection (proxy),
-                                        g_dbus_proxy_get_name_owner (proxy),
+                                        name_owner,
                                         g_dbus_proxy_get_object_path (proxy),
                                         "org.freedesktop.DBus.Properties",
                                         "GetAll",
@@ -1340,7 +1343,7 @@ dbus_proxy_reload_properties_sync (GDBusProxy    *proxy,
                                         cancellable,
                                         NULL);
   if (result == NULL)
-    return FALSE;
+    goto out;
 
   g_variant_get (result, "(a{sv})", &iter);
   while (g_variant_iter_next (iter, "{sv}", &name, &value))
@@ -1351,7 +1354,12 @@ dbus_proxy_reload_properties_sync (GDBusProxy    *proxy,
       g_variant_unref (value);
     }
   g_variant_iter_free (iter);
-  return TRUE;
+
+  ret = TRUE;
+
+ out:
+  g_free (name_owner);
+  return ret;
 }
 
 static gboolean


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]