When you use strlen() to give string size in strncmp(), it needs +1 to include NULL character
Change-Id: I817c071d7ce9b7426e13d83564fb111eb983cd42
tts_core_notify_default_voice_changed(client, before_lang, before_voice_type, language, voice_type);
/* Check whether language is changed or not. If it is changed, make 'text_repeat' NULL */
- if (0 != strncmp(before_lang, language, strlen(before_lang))) {
+ if (0 != strncmp(before_lang, language, strlen(before_lang) + 1)) {
tts_client_set_repeat_text(client, NULL);
}
} else {
return 0;
}
- if (0 != strncmp(g_engine_name, pkgname, strlen(g_engine_name))) {
+ if (0 != strncmp(g_engine_name, pkgname, strlen(g_engine_name) + 1)) {
SLOG(LOG_DEBUG, TAG_TTSC, "[DEBUG] this is not tts engine");
return 0;
}
return 0;
}
- if (0 == strncmp(key, "start", strlen(key))) {
+ if (0 == strncmp(key, "start", strlen(key) + 1)) {
if (NULL != g_pkgmgr_status) {
free(g_pkgmgr_status);
g_pkgmgr_status = NULL;
g_pkgmgr_status = strdup(val);
SLOG(LOG_INFO, TAG_TTSC, "[INFO] pkgmgr status. key(%s), status(%s)", key, g_pkgmgr_status);
- if ((0 == strncmp(val, "update", strlen(val) || 0 == strncmp(val, "uninstall", strlen(val))))) {
+ if (0 == strncmp(val, "update", strlen(val) + 1) || 0 == strncmp(val, "uninstall", strlen(val) + 1)) {
SLOG(LOG_ERROR, TAG_TTSC, "[INFO] start to install.");
g_engine_update_status = 1;
}
}
- } else if (0 == strncmp(key, "end", strlen(key)) && val && 0 == strncmp(val, "ok", strlen(val))) {
+ } else if (0 == strncmp(key, "end", strlen(key) + 1) && val && 0 == strncmp(val, "ok", strlen(val) + 1)) {
if (g_pkgmgr_status) {
- if (0 == strncmp(g_pkgmgr_status, "install", strlen(g_pkgmgr_status)) || 0 == strncmp(g_pkgmgr_status, "update", strlen(g_pkgmgr_status))) {
+ if (0 == strncmp(g_pkgmgr_status, "install", strlen(g_pkgmgr_status) + 1) || 0 == strncmp(g_pkgmgr_status, "update", strlen(g_pkgmgr_status) + 1)) {
SLOG(LOG_ERROR, TAG_TTSC, "[INFO] finish to install");
g_engine_update_status = 0;
return ret;
}
- if (0 == strncmp(*data, "NULL", strlen(*data))) {
+ if (0 == strncmp(*data, "NULL", strlen(*data) + 1)) {
free(*data);
*data = NULL;
}
bundle_get_str(msg, TTS_BUNDLE_METHOD, &method);
- if (0 == strncmp(TTSD_METHOD_HELLO, method, strlen(TTSD_METHOD_HELLO))) {
+ if (0 == strncmp(TTSD_METHOD_HELLO, method, strlen(TTSD_METHOD_HELLO) + 1)) {
char* credential_needed = NULL;
char* service_state = NULL;
char* ret = NULL;
} else {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Fail to get message(TTSD_METHOD_HELLO). pid(%d) uid(%u)", pid, u_uid);
}
- } else if (0 == strncmp(TTSD_METHOD_UTTERANCE_STARTED, method, strlen(TTSD_METHOD_UTTERANCE_STARTED))) {
+ } else if (0 == strncmp(TTSD_METHOD_UTTERANCE_STARTED, method, strlen(TTSD_METHOD_UTTERANCE_STARTED) + 1)) {
bundle_get_str(msg, TTS_BUNDLE_MESSAGE, &val);
if (val) {
tts_core_notify_utt_started(client, atoi(val));
}
- } else if (0 == strncmp(TTSD_METHOD_UTTERANCE_COMPLETED, method, strlen(TTSD_METHOD_UTTERANCE_COMPLETED))) {
+ } else if (0 == strncmp(TTSD_METHOD_UTTERANCE_COMPLETED, method, strlen(TTSD_METHOD_UTTERANCE_COMPLETED) + 1)) {
bundle_get_str(msg, TTS_BUNDLE_MESSAGE, &val);
if (val) {
tts_core_notify_utt_completeted(client, atoi(val));
}
- } else if (0 == strncmp(TTSD_METHOD_SET_STATE, method, strlen(TTSD_METHOD_SET_STATE))) {
+ } else if (0 == strncmp(TTSD_METHOD_SET_STATE, method, strlen(TTSD_METHOD_SET_STATE) + 1)) {
bundle_get_str(msg, TTS_BUNDLE_MESSAGE, &val);
if (val) {
tts_core_notify_state_changed(client, (tts_state_e)atoi(val));
}
- } else if (0 == strncmp(TTSD_METHOD_SET_SERVICE_STATE, method, strlen(TTSD_METHOD_SET_SERVICE_STATE))) {
+ } else if (0 == strncmp(TTSD_METHOD_SET_SERVICE_STATE, method, strlen(TTSD_METHOD_SET_SERVICE_STATE) + 1)) {
char* before_state = NULL;
char* current_state = NULL;
bundle_get_str(msg, TTS_BUNDLE_BEFORE_STATE, &before_state);
if (before_state && current_state) {
tts_core_notify_service_state_changed(client, (tts_service_state_e)atoi(before_state), (tts_service_state_e)atoi(current_state));
}
- } else if (0 == strncmp(TTSD_METHOD_SEND_PCM, method, strlen(TTSD_METHOD_SEND_PCM))) {
+ } else if (0 == strncmp(TTSD_METHOD_SEND_PCM, method, strlen(TTSD_METHOD_SEND_PCM) + 1)) {
char* uttid = NULL;
char* event = NULL;
void* pcm_data = NULL;
} else {
SLOG(LOG_ERROR, TAG_TTSC, "[ERROR] Fail to get message(TTSD_METHOD_SEND_PCM). pid(%d) uid(%u)", pid, u_uid);
}
- } else if (0 == strncmp(TTSD_METHOD_ERROR, method, strlen(TTSD_METHOD_ERROR))) {
+ } else if (0 == strncmp(TTSD_METHOD_ERROR, method, strlen(TTSD_METHOD_ERROR) + 1)) {
char *uttid = NULL;
char *reason = NULL;
char *err_msg = NULL;
// Avoid to parse non-xml file
char* file_ext = strrchr(path, '.');
- if (NULL == ++file_ext || (file_ext && 0 != strncmp("xml", file_ext, strlen(file_ext)))) {
+ if (NULL == ++file_ext || (file_ext && 0 != strncmp("xml", file_ext, strlen(file_ext) + 1))) {
SLOG(LOG_ERROR, TAG_TTSCONFIG, "[ERROR] File extention is not XML type, file_ext(%s)", (file_ext) ? file_ext : "NULL");
return -1;
}
/* Find voice */
list<used_voice_s>& usedVoices = app_data->m_used_voice;
for (auto& voice : usedVoices) {
- if (0 == strncmp(lang, voice.lang, strlen(lang)) && type == voice.vctype) {
+ if (0 == strncmp(lang, voice.lang, strlen(lang) + 1) && type == voice.vctype) {
SLOG(LOG_DEBUG, tts_tag(), "[DATA] The voice is already registered (%s)(%d)", lang, type);
return 0;
}
}
/* compare current engine and engine id.*/
- if (NULL != g_engine_info->engine_uuid && 0 == strncmp(g_engine_info->engine_uuid, engine_id, strlen(engine_id))) {
+ if (NULL != g_engine_info->engine_uuid && 0 == strncmp(g_engine_info->engine_uuid, engine_id, strlen(engine_id) + 1)) {
return true;
}
(NULL == lang) ? "NULL" : lang, type, (NULL == ptts_id) ? "NULL" : ptts_id, (NULL == g_engine_info->default_lang) ? "NULL" : g_engine_info->default_lang, g_engine_info->default_vctype);
/* case 1 : Both are default */
- if (0 == strncmp(lang, "default", strlen(lang)) && 0 == type) {
+ if (0 == strncmp(lang, "default", strlen(lang) + 1) && 0 == type) {
if (NULL != g_engine_info->default_lang) {
*out_lang = strdup(g_engine_info->default_lang);
} else {
voice_s* voice;
/* case 2 : lang and type are not default type */
- if (0 != strncmp(lang, "default", strlen("default")) && 0 != type) {
+ if (0 != strncmp(lang, "default", strlen("default") + 1) && 0 != type) {
iter = g_list_first(voice_list);
while (NULL != iter) {
/* Get handle data from list */
voice = iter->data;
- if (0 == strncmp(voice->language, lang, strlen(lang)) && voice->type == type) {
+ if (0 == strncmp(voice->language, lang, strlen(lang) + 1) && voice->type == type) {
if (type == TTSE_VOICE_TYPE_PERSONAL && NULL!= ptts_id) {
- if (0 != strncmp(voice->ptts_id, ptts_id, strlen(voice->ptts_id))) {
+ if (0 != strncmp(voice->ptts_id, ptts_id, strlen(voice->ptts_id) + 1)) {
iter = g_list_next(iter);
continue;
}
iter = g_list_next(iter);
}
- } else if (0 != strncmp(lang, "default", strlen("default")) && 0 == type) { // default type != personal_type
+ } else if (0 != strncmp(lang, "default", strlen("default") + 1) && 0 == type) { // default type != personal_type
/* Only type is default */
- if (0 == strncmp(lang, g_engine_info->default_lang, strlen(g_engine_info->default_lang))) {
+ if (0 == strncmp(lang, g_engine_info->default_lang, strlen(g_engine_info->default_lang) + 1)) {
*out_lang = strdup(g_engine_info->default_lang);
*out_type = g_engine_info->default_vctype;
*out_ptts_id = NULL;
/* Get handle data from list */
voice = iter->data;
- if (0 == strncmp(voice->language, lang, strlen(lang))) {
+ if (0 == strncmp(voice->language, lang, strlen(lang) + 1)) {
voice_selected = voice;
if (voice->type == g_engine_info->default_vctype) {
voice_selected = voice;
result = true;
}
}
- } else if (0 == strncmp(lang, "default", strlen("default")) && 0 != type) {
+ } else if (0 == strncmp(lang, "default", strlen("default") + 1) && 0 != type) {
/* Only lang is default */
if (type == g_engine_info->default_vctype) { // default type != personal_type
*out_lang = strdup(g_engine_info->default_lang);
}
SLOG(LOG_DEBUG, tts_tag(), "[Server] TTS Default Engine(%s), appId(%s)", engine, appid);
- if (0 == strncmp(engine, appid, strlen(engine))) {
+ if (0 == strncmp(engine, appid, strlen(engine) + 1)) {
free(engine);
return TRUE;
}