mmifw : fix mmi_instance_destroy about removing pointer 62/264162/1
authordyamy-lee <dyamy.lee@samsung.com>
Mon, 13 Sep 2021 11:34:22 +0000 (20:34 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Tue, 14 Sep 2021 03:53:20 +0000 (12:53 +0900)
previous version, free is done well but, it makes some case access not accessible address.
To remove not accessible address and know it removed or not, pass address of mmi_handle

Change-Id: I08a9d461ece7315d7e6d66b87816326b4b4d720e

src/mmifw.c
src/mmifw.h

index c30c5b72092477c5a06f69e54da99213868b28c6..5c8666ab32dc649594d448e5b2e77fbb4cbabea8 100644 (file)
@@ -239,12 +239,13 @@ mmi_event_remove_all_listeners(mmi_handle h)
 }
 
 MMIFW_API void
-mmi_instance_destroy(mmi_handle h)
+mmi_instance_destroy(mmi_handle *h)
 {
        if (!h)
                return;
 
        mmi_ipc_shutdown();
-       free(h);
+       free(*h);
+       *h = NULL;
 }
 
index 98cd10b6f54037f3f33533bd0937ff4b492e5d73..1ae3a9357e102ed4140a620fb3a483d6e4dc5419 100644 (file)
@@ -81,7 +81,7 @@ extern "C" {
 MMIFW_API int mmi_init(void);
 MMIFW_API int mmi_shutdown(void);
 MMIFW_API mmi_handle mmi_instance_create(const char *app_id);
-MMIFW_API void mmi_instance_destroy(mmi_handle h);
+MMIFW_API void mmi_instance_destroy(mmi_handle *h);
 
 MMIFW_API mmi_event_listener *mmi_event_add_listener(mmi_handle h, int ev_type, mmi_event_handler_cb func, const void *data);
 MMIFW_API mmi_result mmi_request_send_get_focus(mmi_handle h);