[gnome-bluetooth] lib: properly free resources in create_device_callback ()



commit 4e48826d350f187e04da5b0556222a82d7662e0c
Author: Daniele Forsi <dforsi src gnome org>
Date:   Thu Nov 24 18:36:38 2011 +0100

    lib: properly free resources in create_device_callback ()
    
    Plugs memleak of "path" and fixes object/variant mismatch:
    GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

 lib/bluetooth-client.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)
---
diff --git a/lib/bluetooth-client.c b/lib/bluetooth-client.c
index 4ff6aeb..ccc7659 100644
--- a/lib/bluetooth-client.c
+++ b/lib/bluetooth-client.c
@@ -1484,20 +1484,18 @@ create_device_callback (GDBusProxy       *proxy,
 	ret = g_dbus_proxy_call_finish (proxy, res, &error);
 	if (ret == NULL) {
 		g_warning ("CreateDevice failed: %s", error->message);
-		path = NULL;
 	} else {
 		g_variant_get (ret, "(o)", &path);
+		g_variant_unref (ret);
 	}
 
 	if (devdata->func)
 		devdata->func(devdata->client, path, error, devdata->data);
+	g_free (path);
 
 	if (error != NULL)
 		g_error_free (error);
 
-
-	if (ret != NULL)
-		g_object_unref (ret);
 	g_object_unref (devdata->client);
 	g_free (devdata);
 }



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