Add null checker when memory is released
[platform/core/uifw/tts.git] / server / ttsd_engine_agent.c
index 684a90f..221582b 100644 (file)
@@ -388,7 +388,10 @@ int ttsd_engine_agent_unload_current_engine()
                data = iter->data;
 
                if (NULL != data) {
-                       if (NULL != data->lang)         free(data->lang);
+                       if (NULL != data->lang) {
+                               free(data->lang);
+                               data->lang = NULL;
+                       }
                        g_cur_voices = g_slist_remove(g_cur_voices, data);
                        free(data);
                        data = NULL;
@@ -691,7 +694,10 @@ int ttsd_engine_agent_set_default_voice(const char* language, int vctype)
                iter = g_slist_next(iter);
        }
 
-       if (NULL != g_engine_info->default_lang)        free(g_engine_info->default_lang);
+       if (NULL != g_engine_info->default_lang) {
+               free(g_engine_info->default_lang);
+               g_engine_info->default_lang = NULL;
+       }
 
        g_engine_info->default_lang = strdup(language);
        g_engine_info->default_vctype = vctype;
@@ -951,7 +957,10 @@ int ttsd_engine_start_synthesis(const char* lang, int vctype, const char* text,
        int temp_type;
        if (true != ttsd_engine_select_valid_voice(lang, vctype, &temp_lang, &temp_type)) {
                SLOG(LOG_ERROR, tts_tag(), "[Engine Agent ERROR] Fail to select default voice");
-               if (NULL != temp_lang)  free(temp_lang);
+               if (NULL != temp_lang) {
+                       free(temp_lang);
+                       temp_lang = NULL;
+               }
                return TTSD_ERROR_INVALID_VOICE;
        } else {
                SECURE_SLOG(LOG_DEBUG, tts_tag(), "[Engine Agent] Start synthesis : language(%s), type(%d), speed(%d), text(%s), credential(%s)", 
@@ -1171,8 +1180,12 @@ void __free_voice_list(GList* voice_list)
                        data = iter->data;
 
                        if (NULL != data) {
-                               if (NULL != data->language)     free(data->language);
+                               if (NULL != data->language) {
+                                       free(data->language);
+                                       data->language = NULL;
+                               }
                                free(data);
+                               data = NULL;
                        }
 
                        voice_list = g_list_remove_link(voice_list, iter);