Fix ASAN issue 13/240913/1 accepted/tizen/unified/20200813.122627 submit/tizen/20200812.235551
authorJeongmo Yang <jm80.yang@samsung.com>
Wed, 12 Aug 2020 23:41:00 +0000 (08:41 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Wed, 12 Aug 2020 23:42:42 +0000 (08:42 +0900)
- The idle event could be called after handle is released
  if _recorder_create_common() is failed.

[Version] 0.3.23
[Issue Type] Bug fix

Change-Id: I25e6dd5fab51169eb6f92106717a7a60f9b640fb
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/capi-media-recorder.spec
src/recorder.c

index 3afbbf6..31f0cff 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-recorder
 Summary:    A Recorder API
-Version:    0.3.22
+Version:    0.3.23
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index e240071..d900a7b 100644 (file)
@@ -1315,6 +1315,9 @@ static void _recorder_client_callback_destroy(recorder_cb_info_s *cb_info)
 
        g_return_if_fail(cb_info != NULL);
 
+       /* remove idle event */
+       _recorder_deactivate_idle_event_all(cb_info);
+
        LOGD("MSG receive thread[%p] destroy", cb_info->msg_recv_thread);
 
        g_thread_join(cb_info->msg_recv_thread);
@@ -1650,7 +1653,6 @@ int recorder_destroy(recorder_h recorder)
                LOGW("server disconnected. release resource without send message.");
 
        if (ret == RECORDER_ERROR_NONE) {
-               _recorder_deactivate_idle_event_all(pc->cb_info);
                _recorder_client_callback_destroy(pc->cb_info);
                g_free(pc);
                pc = NULL;