Avoid the memory leak of server_data.
---
 gdbus/watch.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/gdbus/watch.c b/gdbus/watch.c
index 1d479fa..ccdbb64 100644
--- a/gdbus/watch.c
+++ b/gdbus/watch.c
@@ -468,8 +468,10 @@ static void service_reply(DBusPendingCall *call, void 
*user_data)
        dbus_bool_t has_owner;
 
        reply = dbus_pending_call_steal_reply(call);
-       if (reply == NULL)
+       if (reply == NULL) {
+               g_free(data);
                return;
+       }
 
        dbus_error_init(&error);
 
@@ -490,6 +492,7 @@ static void service_reply(DBusPendingCall *call, void 
*user_data)
 
 done:
        dbus_message_unref(reply);
+       g_free(data);
 }
 
 static void check_service(DBusConnection *connection, const char *name,
-- 
1.7.0.4

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to