From 42af9b1629673511e61dab39d35598ffd9aed0f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Wed, 2 Jan 2013 20:31:46 +0000 Subject: [PATCH] edbus: Remove message leaks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patch by: José Roberto de Souza SVN revision: 82009 --- src/lib/edbus/edbus_freedesktop.c | 5 ++++- src/lib/edbus/edbus_object.c | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/lib/edbus/edbus_freedesktop.c b/src/lib/edbus/edbus_freedesktop.c index 7f58b1dd8f..bf5c50d3d3 100644 --- a/src/lib/edbus/edbus_freedesktop.c +++ b/src/lib/edbus/edbus_freedesktop.c @@ -74,7 +74,10 @@ EAPI EDBus_Pending * edbus_object_managed_objects_get(EDBus_Object *obj, EDBus_Message_Cb cb, const void *data) { EDBus_Message *msg; + EDBus_Pending *p; msg = edbus_object_method_call_new(obj, EDBUS_FDO_INTERFACE_OBJECT_MANAGER, "GetManagedObjects"); - return edbus_object_send(obj, msg, cb, data, -1); + p = edbus_object_send(obj, msg, cb, data, -1); + edbus_message_unref(msg); + return p; } diff --git a/src/lib/edbus/edbus_object.c b/src/lib/edbus/edbus_object.c index 34c5c0c304..6b2c55d7fa 100644 --- a/src/lib/edbus/edbus_object.c +++ b/src/lib/edbus/edbus_object.c @@ -644,27 +644,36 @@ EAPI EDBus_Pending * edbus_object_peer_ping(EDBus_Object *obj, EDBus_Message_Cb cb, const void *data) { EDBus_Message *msg; + EDBus_Pending *p; EDBUS_OBJECT_CHECK_RETVAL(obj, NULL); msg = edbus_object_method_call_new(obj, EDBUS_FDO_INTEFACE_PEER, "Ping"); - return edbus_object_send(obj, msg, cb, data, -1); + p = edbus_object_send(obj, msg, cb, data, -1); + edbus_message_unref(msg); + return p; } EAPI EDBus_Pending * edbus_object_peer_machine_id_get(EDBus_Object *obj, EDBus_Message_Cb cb, const void *data) { EDBus_Message *msg; + EDBus_Pending *p; EDBUS_OBJECT_CHECK_RETVAL(obj, NULL); msg = edbus_object_method_call_new(obj, EDBUS_FDO_INTEFACE_PEER, "GetMachineId"); - return edbus_object_send(obj, msg, cb, data, -1); + p = edbus_object_send(obj, msg, cb, data, -1); + edbus_message_unref(msg); + return p; } EAPI EDBus_Pending * edbus_object_introspect(EDBus_Object *obj, EDBus_Message_Cb cb, const void *data) { EDBus_Message *msg; + EDBus_Pending *p; EDBUS_OBJECT_CHECK_RETVAL(obj, NULL); msg = edbus_object_method_call_new(obj, EDBUS_FDO_INTERFACE_INTROSPECTABLE, "Introspect"); - return edbus_object_send(obj, msg, cb, data, -1); + p = edbus_object_send(obj, msg, cb, data, -1); + edbus_message_unref(msg); + return p; }