Fix defects detected by static analysis tool 89/258989/4
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 28 May 2021 13:07:28 +0000 (22:07 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Fri, 28 May 2021 13:36:53 +0000 (22:36 +0900)
Change-Id: Ife30967277a0eaead9e5419e8b05c0c87ef89536
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
tests/src/nlp_service_unittests.cpp

index ac4f0c3..8eac104 100644 (file)
@@ -58,9 +58,13 @@ TEST_F(NlpServiceTest, utc_nlp_service_tokenize_p)
     for(unsigned int i = 0; i < len; i++)
     {
         tmp_str = nltk_get_string_from_element(nltk_get_element_from_list_by_index(wt_lists, i));
-        string result = string(tmp_str);
-        tokens.push_back(result);
-        cout << "token: '" << tmp_str << "'" << endl;
+        if (tmp_str) {
+            string result = string(tmp_str);
+            tokens.push_back(result);
+            cout << "token: '" << tmp_str << "'" << endl;
+            free(tmp_str);
+            tmp_str = NULL;
+        }
     }
 
     Py_DECREF(wt_lists);
@@ -82,12 +86,10 @@ TEST_F(NlpServiceTest, utc_nlp_service_language_detect_p)
     ASSERT_NE(ld_result, nullptr);
 
     char *tmp_str = nltk_get_string_from_element(ld_result);
-    string detected_language = string(tmp_str);
+    string detected_language = tmp_str ? string(tmp_str) : string("");
 
-    if (tmp_str) {
-        free(tmp_str);
-        tmp_str = NULL;
-    }
+    free(tmp_str);
+    tmp_str = NULL;
 
     Py_DECREF(ld_result);
 
@@ -113,22 +115,19 @@ TEST_F(NlpServiceTest, utc_nlp_service_pos_tag_p)
         pt_elm_tuple = nltk_get_element_from_list_by_index(pt_result, i);
 
         tmp_str = nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(pt_elm_tuple, 1));
-        tags.push_back(string(tmp_str));
-
         if (tmp_str) {
+            cout << "tag : " << tmp_str << endl;
+            tags.push_back(string(tmp_str));
+
             free(tmp_str);
             tmp_str = NULL;
         }
 
-        cout << "tag : " << tmp_str << endl;
-
         tmp_str = nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(pt_elm_tuple, 0));
-        tokens.push_back(string(tmp_str));
+        tokens.push_back(tmp_str ? string(tmp_str) : string(""));
 
-        if (tmp_str) {
-            free(tmp_str);
-            tmp_str = NULL;
-        }
+        free(tmp_str);
+        tmp_str = NULL;
 
         Py_DECREF(pt_elm_tuple);
     }
@@ -157,12 +156,19 @@ TEST_F(NlpServiceTest, utc_nlp_service_ne_chunk_p)
         ne_elm_tuple = nltk_get_element_from_list_by_index(ne_result, i);
 
         tmp_str = nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(ne_elm_tuple, 0));
-        tokens.push_back(string(tmp_str));
-        cout << "token: " << tmp_str << endl;
+        if (tmp_str) {
+            tokens.push_back(string(tmp_str));
+            cout << "token: " << tmp_str << endl;
+            free(tmp_str);
+        }
 
         tmp_str = nltk_get_string_from_element(nltk_get_element_from_tuple_by_index(ne_elm_tuple, 1));
-        tags.push_back(string(tmp_str));
-        cout << "tag: " << tmp_str << endl;
+        if (tmp_str) {
+            tags.push_back(string(tmp_str));
+            cout << "tag: " << tmp_str << endl;
+
+            free(tmp_str);
+        }
 
         Py_DECREF(ne_elm_tuple);
     }