From e760840b9673e63b763adee87f61cf84a2cdaa88 Mon Sep 17 00:00:00 2001 From: sungrae jo Date: Wed, 9 Jan 2019 20:08:21 +0900 Subject: [PATCH] Dbus usage Memory Leak fix Change-Id: I811c33c2a2dff8545a1e42169c82e770c9ae50d5 Signed-off-by: sungrae jo --- client/vc_setting_dbus.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/client/vc_setting_dbus.c b/client/vc_setting_dbus.c index d82c436..c249d40 100755 --- a/client/vc_setting_dbus.c +++ b/client/vc_setting_dbus.c @@ -103,10 +103,12 @@ static void __vc_setting_dbus_connection_free() { if (NULL != g_s_conn_listener) { dbus_connection_close(g_s_conn_listener); + dbus_connection_unref(g_s_conn_listener); g_s_conn_listener = NULL; } if (NULL != g_s_conn_sender) { dbus_connection_close(g_s_conn_sender); + dbus_connection_unref(g_s_conn_sender); g_s_conn_sender = NULL; } } @@ -226,6 +228,10 @@ int vc_setting_dbus_close_connection() memset(service_name, '\0', 64); snprintf(service_name, 64, "%s%d", VC_SETTING_SERVICE_NAME, pid); + char rule[128] = {0, }; + snprintf(rule, 128, "type='signal',interface='%s'", VC_SETTING_SERVICE_INTERFACE); + dbus_bus_remove_match(g_s_conn_listener, rule, NULL); + dbus_bus_release_name(g_s_conn_listener, service_name, &err); if (dbus_error_is_set(&err)) { -- 2.7.4