Add null checker to avoid crash 23/196523/2
authorsooyeon.kim <sooyeon.kim@samsung.com>
Tue, 11 Dec 2018 12:14:35 +0000 (21:14 +0900)
committerSooyeon Kim <sooyeon.kim@samsung.com>
Mon, 15 Apr 2019 08:54:09 +0000 (08:54 +0000)
Change-Id: I6c042bdf48d86b33e106ad44b9e247b9ca7aef37
Signed-off-by: sooyeon.kim <sooyeon.kim@samsung.com>
(cherry picked from commit b62842d2659f6c620230cd85a0de4f4ecbe5bd75)

common/stt_config_mgr.c
server/sttd_config.c
server/sttd_engine_agent.c

index 2314cbb..6f3c474 100644 (file)
@@ -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;
                        }
index 7d836dd..982c897 100644 (file)
@@ -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;
index 4573cf4..aa47a88 100644 (file)
@@ -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;
                        }