Add critical section to avoid thread safety issue
[platform/core/uifw/stt.git] / client / stt_file_client.c
index c194bd8..a5303e4 100644 (file)
@@ -28,6 +28,10 @@ int stt_file_client_new()
        }
 
        g_client_info = (stt_file_client_s*)calloc(1, sizeof(stt_file_client_s));
+       if (!g_client_info) {
+               SLOG(LOG_ERROR, TAG_STTFC, "[ERROR] Fail to allocate memory");
+               return STT_FILE_ERROR_OUT_OF_MEMORY;
+       }
 
        /* initialize client data */
        g_client_info->recognition_result_cb = NULL;
@@ -45,13 +49,13 @@ int stt_file_client_new()
        g_client_info->current_engine_id = -1;
 
        g_client_info->time_info = NULL;
-       
+
        g_client_info->before_state = STT_FILE_STATE_READY;
        g_client_info->current_state = STT_FILE_STATE_READY;
 
        g_client_info->cb_ref_count = 0;
 
-       return 0;       
+       return 0;
 }
 
 int stt_file_client_destroy()
@@ -63,7 +67,7 @@ int stt_file_client_destroy()
                while (0 != g_client_info->cb_ref_count) {
                        /* wait for release callback function */
                }
-               
+
                free(g_client_info);
 
                g_client_info = NULL;