From: Tomasz Bursztyka Date: Wed, 17 Oct 2012 07:46:14 +0000 (+0300) Subject: client: Fix various memory leaks in monitor and services parts X-Git-Tag: 1.9~23 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=45d78b9b12b6242d40a3e65fd8ada7be1329e1e6;p=platform%2Fupstream%2Fconnman.git client: Fix various memory leaks in monitor and services parts --- diff --git a/client/monitor.c b/client/monitor.c index 3c3ca5c..d2f8846 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 a7dfe36..e4f177c 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);