return -1;
}
- if (0 == strcmp(engine_id, engine_info->uuid)) {
+ if (NULL != engine_info->uuid && 0 == strcmp(engine_id, engine_info->uuid)) {
SLOG(LOG_DEBUG, tts_tag(), "Default engine is valid : %s", engine_id);
return 0;
}
return TTS_CONFIG_ERROR_OPERATION_FAILED;
}
- if (NULL != g_config_info->engine_id) free(g_config_info->engine_id);
- if (NULL != g_config_info->setting) free(g_config_info->setting);
+ if (NULL != engine_info->uuid) {
+ if (NULL != g_config_info->engine_id) {
+ free(g_config_info->engine_id);
+ g_config_info->engine_id = NULL;
+ }
+ g_config_info->engine_id = strdup(engine_info->uuid);
+ }
+ if (NULL != engine_info->setting) {
+ if (NULL != g_config_info->setting) {
+ free(g_config_info->setting);
+ g_config_info->setting = NULL;
+ }
+ g_config_info->setting = strdup(engine_info->setting);
+ }
- g_config_info->engine_id = strdup(engine_info->uuid);
- g_config_info->setting = strdup(engine_info->setting);
+ if (NULL == g_config_info->engine_id || NULL == g_config_info->setting) {
+ SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to strdup engine_info");
+ return -1;
+ }
SLOG(LOG_DEBUG, tts_tag(), "Default engine is changed : %s", g_config_info->engine_id);
is_valid_voice = true;
free(g_config_info->language);
+ g_config_info->language = NULL;
g_config_info->language = strdup(voice->language);
+ if (NULL == g_config_info->language) {
+ SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to strdup language");
+ return TTS_CONFIG_ERROR_OPERATION_FAILED;
+ }
g_config_info->type = voice->type;
SLOG(LOG_DEBUG, tts_tag(), "Default voice is changed : lang(%s) type(%d)", voice->language, voice->type);
/* Select first voice as default */
if (NULL != g_config_info->language) {
free(g_config_info->language);
+ g_config_info->language = NULL;
iter_voice = g_slist_nth(engine_info->voices, 0);
if (NULL == iter_voice) {
}
g_config_info->language = strdup(voice->language);
+ if (NULL == g_config_info->language) {
+ SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to strdup language");
+ return TTS_CONFIG_ERROR_OPERATION_FAILED;
+ }
g_config_info->type = voice->type;
SLOG(LOG_DEBUG, tts_tag(), "Default voice is changed : lang(%s) type(%d)", voice->language, voice->type);
}
/* engine changed */
if (NULL != engine || NULL != setting) {
if (NULL != engine) {
- if (NULL != g_config_info->engine_id)
+ if (NULL != g_config_info->engine_id) {
free(g_config_info->engine_id);
+ g_config_info->engine_id = NULL;
+ }
g_config_info->engine_id = strdup(engine);
+ if (NULL == g_config_info->engine_id) {
+ SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to strdup engine_id");
+ return ECORE_CALLBACK_DONE;
+ }
}
if (NULL != setting) {
- if (NULL != g_config_info->setting)
+ if (NULL != g_config_info->setting) {
free(g_config_info->setting);
+ g_config_info->setting = NULL;
+ }
g_config_info->setting = strdup(setting);
+ if (NULL == g_config_info->setting) {
+ SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to strdup setting");
+ return ECORE_CALLBACK_DONE;
+ }
}
SECURE_SLOG(LOG_DEBUG, tts_tag(), "Engine change(%s)", g_config_info->engine_id);
before_type = g_config_info->type;
if (NULL != lang) {
- if (NULL != g_config_info->language)
+ if (NULL != g_config_info->language) {
free(g_config_info->language);
+ g_config_info->language = NULL;
+ }
g_config_info->language = strdup(lang);
+ if (NULL == g_config_info->language) {
+ SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to strdup lang");
+ }
}
if (-1 != voice_type) {
g_config_info->type = voice_type;
before_type = g_config_info->type;
free(g_config_info->language);
+ g_config_info->language = NULL;
g_config_info->language = strdup(temp_lang);
+ if (NULL == g_config_info->language) {
+ SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to strdup temp_lang");
+ return -1;
+ }
SECURE_SLOG(LOG_DEBUG, tts_tag(), "[Config] Default voice : lang(%s) type(%d)",
g_config_info->language, g_config_info->type);
if (NULL != g_config_info->language) {
free(g_config_info->language);
+ g_config_info->language = NULL;
g_config_info->language = strdup(tmp_language);
+ if (NULL == g_config_info->language) {
+ SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to strdup tmp_language");
+ return -1;
+ }
}
g_config_info->type = tmp_type;
free(tmp_language);
+ tmp_language = NULL;
}
return 0;
if (NULL != tmp_language) {
if (NULL != g_config_info->language) {
free(g_config_info->language);
+ g_config_info->language = NULL;
g_config_info->language = strdup(tmp_language);
+ if (NULL == g_config_info->language) {
+ SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to strdup tmp_language");
+ return TTS_CONFIG_ERROR_OPERATION_FAILED;
+ }
}
g_config_info->type = tmp_type;
continue;
}
- if (NULL != g_config_info->engine_id)
+ if (NULL != g_config_info->engine_id) {
free(g_config_info->engine_id);
+ g_config_info->engine_id = NULL;
+ }
g_config_info->engine_id = strdup(engine);
if (false == is_valid_voice) {
if (NULL != g_config_info->language) {
free(g_config_info->language);
+ g_config_info->language = NULL;
iter_voice = g_slist_nth(engine_info->voices, 0);
if (NULL != iter_voice) {
return TTS_CONFIG_ERROR_OPERATION_FAILED;
}
free(g_config_info->language);
+ g_config_info->language = NULL;
g_config_info->language = strdup(language);
+ if (NULL == g_config_info->language) {
+ SLOG(LOG_ERROR, tts_tag(), "Fail to strdup language");
+ return TTS_CONFIG_ERROR_OPERATION_FAILED;
+ }
g_config_info->type = type;
} else {