Fix segmentation fault in ttsd_data.cpp 52/106652/1
authorsooyeon.kim <sooyeon.kim@samsung.com>
Thu, 22 Dec 2016 09:26:01 +0000 (18:26 +0900)
committersooyeon.kim <sooyeon.kim@samsung.com>
Thu, 22 Dec 2016 09:26:01 +0000 (18:26 +0900)
Change-Id: I715e1bc72dc8dbbba28cd32bce1d4f7df4ba3bd1
Signed-off-by: sooyeon.kim <sooyeon.kim@samsung.com>
server/ttsd_data.cpp

index f02ab1d..932ea35 100644 (file)
@@ -405,6 +405,7 @@ int ttsd_data_get_sound_data(int uid, sound_data_s** data)
 int ttsd_data_get_sound_data_size(int uid)
 {
        int index = 0;
+       int data_size = 0;
        index = ttsd_data_is_client(uid);
 
        if (index < 0)  {
@@ -412,7 +413,14 @@ int ttsd_data_get_sound_data_size(int uid)
                return TTSD_ERROR_INVALID_PARAMETER;
        }
 
-       return g_app_list[index].m_wav_data.size();
+       /* mutex is locked */
+       pthread_mutex_lock(&g_sound_data_mutex);
+       data_size = g_app_list[index].m_wav_data.size();
+
+       /* mutex is unlocked */
+       pthread_mutex_unlock(&g_sound_data_mutex);
+
+       return data_size;
 }
 
 int ttsd_data_clear_data(int uid)