diff options
-rw-r--r-- | client/monitor.c | 5 | ||||
-rw-r--r-- | 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); |