assign NULL after unref global object 54/93554/2
authorJiwoong Im <jiwoong.im@samsung.com>
Tue, 25 Oct 2016 01:58:43 +0000 (10:58 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Tue, 25 Oct 2016 06:44:43 +0000 (23:44 -0700)
Change-Id: Id73dfc4b464417f93c27926befbc61ff514c7c9f
Signed-off-by: Jiwoong Im <jiwoong.im@samsung.com>
src/alarm-lib.c

index a4016da..e98e376 100644 (file)
@@ -516,11 +516,15 @@ EXPORT_API int alarmmgr_init(const char *appid)
        return ALARMMGR_RESULT_SUCCESS;
 
 error:
-       if (introspection_data)
+       if (introspection_data) {
                g_dbus_node_info_unref(introspection_data);
+               introspection_data = NULL;
+       }
 
-       if (registration_id != 0)
+       if (registration_id != 0) {
                g_dbus_connection_unregister_object(alarm_context.connection, registration_id);
+               registration_id = 0;
+       }
 
        g_object_unref(alarm_context.proxy);
        alarm_context.proxy = NULL;
@@ -535,10 +539,15 @@ error:
 EXPORT_API void alarmmgr_fini()
 {
        SECURE_LOGD("Enter");
+       if (introspection_data) {
+               g_dbus_node_info_unref(introspection_data);
+               introspection_data = NULL;
+       }
 
-       g_dbus_connection_signal_unsubscribe(alarm_context.connection,
-                       alarm_context.sid);
-       alarm_context.sid = 0;
+       if (alarm_context.connection != NULL && registration_id != 0) {
+               g_dbus_connection_unregister_object(alarm_context.connection, registration_id);
+               registration_id = 0;
+       }
 
        if (alarm_context.proxy) {
                g_object_unref(alarm_context.proxy);