From 45d78b9b12b6242d40a3e65fd8ada7be1329e1e6 Mon Sep 17 00:00:00 2001 From: Tomasz Bursztyka Date: Wed, 17 Oct 2012 10:46:14 +0300 Subject: [PATCH] client: Fix various memory leaks in monitor and services parts --- client/monitor.c | 5 +++++ client/services.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/client/monitor.c b/client/monitor.c index 3c3ca5cd..d2f88467 100644 --- a/client/monitor.c +++ b/client/monitor.c @@ -164,6 +164,9 @@ DBusHandlerResult service_property_changed(DBusConnection *connection, if (dbus_message_is_signal(message, "net.connman.Service", "PropertyChanged")) { service_message = get_message(connection, "GetServices"); + if (service_message == NULL) + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + service.name = get_service_name(service_message, (char *) dbus_message_get_path(message)); printf("\n"); @@ -172,6 +175,8 @@ DBusHandlerResult service_property_changed(DBusConnection *connection, dbus_message_get_interface(message), service.name); extract_signal_args(message); + + dbus_message_unref(service_message); } return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; diff --git a/client/services.c b/client/services.c index a7dfe36e..e4f177cd 100644 --- a/client/services.c +++ b/client/services.c @@ -408,8 +408,10 @@ int set_proxy_manual(DBusConnection *connection, DBusMessage *message, "net.connman.Service", "SetProperty"); - if (message_send == NULL) + if (message_send == NULL) { + g_free(path); return -ENOMEM; + } dbus_message_iter_init_append(message_send, &iter); dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &property); @@ -443,6 +445,8 @@ int set_proxy_manual(DBusConnection *connection, DBusMessage *message, dbus_connection_flush(connection); dbus_message_unref(message_send); + g_free(path); + return 0; } @@ -465,8 +469,10 @@ int set_service_property(DBusConnection *connection, DBusMessage *message, "net.connman.Service", "SetProperty"); - if (message_send == NULL) + if (message_send == NULL) { + g_free(path); return -ENOMEM; + } dbus_message_iter_init_append(message_send, &iter); -- 2.34.1