From bdd69fdbcc703031bfcf2efbc88f129b0b3a43d4 Mon Sep 17 00:00:00 2001 From: "sooyeon.kim" Date: Tue, 11 Dec 2018 21:14:35 +0900 Subject: [PATCH] Add null checker to avoid crash Change-Id: I6c042bdf48d86b33e106ad44b9e247b9ca7aef37 Signed-off-by: sooyeon.kim (cherry picked from commit b62842d2659f6c620230cd85a0de4f4ecbe5bd75) --- common/stt_config_mgr.c | 3 ++- server/sttd_config.c | 1 + server/sttd_engine_agent.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/stt_config_mgr.c b/common/stt_config_mgr.c index 2314cbb..6f3c474 100644 --- a/common/stt_config_mgr.c +++ b/common/stt_config_mgr.c @@ -1041,6 +1041,7 @@ int stt_config_mgr_get_engine(char** engine) *engine = strdup(g_config_info->engine_id); } else { SLOG(LOG_ERROR, stt_tag(), " Engine id is NULL"); //LCOV_EXCL_LINE + *engine = NULL; return STT_CONFIG_ERROR_ENGINE_NOT_FOUND; } @@ -1514,7 +1515,7 @@ bool stt_config_check_default_engine_is_valid(const char* engine) while (NULL != iter) { engine_info = iter->data; - if (NULL != engine_info) { + if (NULL != engine_info && NULL != engine_info->uuid) { if (0 == strcmp(engine, engine_info->uuid)) { return true; } diff --git a/server/sttd_config.c b/server/sttd_config.c index 7d836dd..982c897 100644 --- a/server/sttd_config.c +++ b/server/sttd_config.c @@ -119,6 +119,7 @@ int sttd_config_get_default_engine(char** engine_id) if (0 != stt_config_mgr_get_engine(engine_id)) { SLOG(LOG_ERROR, TAG_STTD, "[Config ERROR] Fail to get engine id"); + return -1; } return 0; diff --git a/server/sttd_engine_agent.c b/server/sttd_engine_agent.c index 4573cf4..aa47a88 100644 --- a/server/sttd_engine_agent.c +++ b/server/sttd_engine_agent.c @@ -302,7 +302,7 @@ int sttd_engine_agent_load_current_engine(stte_request_callback_s *callback) /* get current engine from config */ if (0 == sttd_config_get_default_engine(&cur_engine_uuid)) { SECURE_SLOG(LOG_DEBUG, TAG_STTD, "[Engine Agent] current engine from config : %s", cur_engine_uuid); - if (NULL != g_engine_info->engine_uuid) { + if (NULL != g_engine_info->engine_uuid && NULL != cur_engine_uuid) { if (!strcmp(g_engine_info->engine_uuid, cur_engine_uuid)) { is_default_engine = true; } -- 2.7.4