Resolve DEREF_OF_NULL.RET.ALLOC.MINOR issue 00/311700/2
authorYonggoo Kang <ygace.kang@samsung.com>
Fri, 24 May 2024 05:18:56 +0000 (14:18 +0900)
committerYonggoo Kang <ygace.kang@samsung.com>
Fri, 24 May 2024 06:07:49 +0000 (15:07 +0900)
Change-Id: I4a1318c4462408a420ce0b225b45cbe3f178a271

tests/client-request-test.cpp
tests/webauthn-client-test.cpp

index 19f251d07f1f13c003b9737066c4ea6743d5a5a1..420c4bca4904d1006b15c8382c720a94b72d96a8 100644 (file)
@@ -273,10 +273,19 @@ TEST_F(ClientRequestTest, request_to_not_supported_server_N)
             int retVal = WAUTHN_ERROR_NONE;
             wauthn_mc_callbacks_s *callbacks = nullptr;
             callbacks = (wauthn_mc_callbacks_s*) calloc(1, sizeof(wauthn_mc_callbacks_s));
+            EXPECT_TRUE(callbacks);
+            if (!callbacks)
+                return ;
             callbacks->qrcode_callback = test_cb_display_qrcode;
             callbacks->response_callback = test_cb_mc_response;
             callbacks->linked_data_callback = test_cb_update_linked_data;
             test_user_data_s *userdata = (test_user_data_s*) calloc(1, sizeof(test_user_data_s));
+            EXPECT_TRUE(userdata);
+            if (!userdata)
+            {
+                free(callbacks);
+                return ;
+            }
             userdata->test_data = (char*)("user data");
             userdata->test_int = 999;
             userdata->called_qr = false;
@@ -317,10 +326,19 @@ TEST_F(ClientRequestTest, MC_with_LD_and_not_call_QR_callback_P)
             int retVal = WAUTHN_ERROR_NONE;
             wauthn_mc_callbacks_s *callbacks = nullptr;
             callbacks = (wauthn_mc_callbacks_s*) calloc(1, sizeof(wauthn_mc_callbacks_s));
+            EXPECT_TRUE(callbacks);
+            if (!callbacks)
+                return ;
             callbacks->qrcode_callback = test_cb_display_qrcode;
             callbacks->response_callback = test_cb_mc_response;
             callbacks->linked_data_callback = test_cb_update_linked_data;
             test_user_data_s *userdata = (test_user_data_s*) calloc(1, sizeof(test_user_data_s));
+            EXPECT_TRUE(userdata);
+            if (!userdata)
+            {
+                free(callbacks);
+                return ;
+            }
             userdata->test_data = (char*)("user data");
             userdata->test_int = 999;
             userdata->called_qr = false;
@@ -362,10 +380,19 @@ TEST_F(ClientRequestTest, MC_without_LD_and_call_QR_callback_P)
             int retVal = WAUTHN_ERROR_NONE;
             wauthn_mc_callbacks_s *callbacks = nullptr;
             callbacks = (wauthn_mc_callbacks_s*) calloc(1, sizeof(wauthn_mc_callbacks_s));
+            EXPECT_TRUE(callbacks);
+            if (!callbacks)
+                return ;
             callbacks->qrcode_callback = test_cb_display_qrcode;
             callbacks->response_callback = test_cb_mc_response;
             callbacks->linked_data_callback = test_cb_update_linked_data;
             test_user_data_s *userdata = (test_user_data_s*) calloc(1, sizeof(test_user_data_s));
+            EXPECT_TRUE(userdata);
+            if (!userdata)
+            {
+                free(callbacks);
+                return ;
+            }
             userdata->test_data = (char*)("user data");
             userdata->test_int = 999;
             userdata->called_qr = false;
@@ -410,10 +437,19 @@ TEST_F(ClientRequestTest, GA_with_LD_and_not_call_QR_callback_P)
             int retVal = WAUTHN_ERROR_NONE;
             wauthn_ga_callbacks_s *callbacks = nullptr;
             callbacks = (wauthn_ga_callbacks_s*) calloc(1, sizeof(wauthn_ga_callbacks_s));
+            EXPECT_TRUE(callbacks);
+            if (!callbacks)
+                return ;
             callbacks->qrcode_callback = test_cb_display_qrcode;
             callbacks->response_callback = test_cb_ga_response;
             callbacks->linked_data_callback = test_cb_update_linked_data;
             test_user_data_s *userdata = (test_user_data_s*) calloc(1, sizeof(test_user_data_s));
+            EXPECT_TRUE(userdata);
+            if (!userdata)
+            {
+                free(callbacks);
+                return ;
+            }
             userdata->test_data = (char*)("user data");
             userdata->test_int = 999;
             userdata->called_qr = false;
@@ -457,10 +493,19 @@ TEST_F(ClientRequestTest, GA_without_LD_and_call_QR_callback_P)
             int retVal = WAUTHN_ERROR_NONE;
             wauthn_ga_callbacks_s *callbacks = nullptr;
             callbacks = (wauthn_ga_callbacks_s*) calloc(1, sizeof(wauthn_ga_callbacks_s));
+            EXPECT_TRUE(callbacks);
+            if (!callbacks)
+                return ;
             callbacks->qrcode_callback = test_cb_display_qrcode;
             callbacks->response_callback = test_cb_ga_response;
             callbacks->linked_data_callback = test_cb_update_linked_data;
             test_user_data_s *userdata = (test_user_data_s*) calloc(1, sizeof(test_user_data_s));
+            EXPECT_TRUE(userdata);
+            if (!userdata)
+            {
+                free(callbacks);
+                return ;
+            }
             userdata->test_data = (char*)("user data");
             userdata->test_int = 999;
             userdata->called_qr = false;
@@ -504,10 +549,19 @@ TEST_F(ClientRequestTest, not_allowed_N)
             int retVal = WAUTHN_ERROR_NONE;
             wauthn_mc_callbacks_s *mc_callbacks = nullptr;
             mc_callbacks = (wauthn_mc_callbacks_s*) calloc(1, sizeof(wauthn_mc_callbacks_s));
+            EXPECT_TRUE(mc_callbacks);
+            if (!mc_callbacks)
+                return ;
             mc_callbacks->qrcode_callback = test_cb_display_qrcode;
             mc_callbacks->response_callback = test_cb_mc_response;
             mc_callbacks->linked_data_callback = test_cb_update_linked_data;
             test_user_data_s *mc_userdata = (test_user_data_s*) calloc(1, sizeof(test_user_data_s));
+            EXPECT_TRUE(mc_userdata);
+            if (!mc_userdata)
+            {
+                free(mc_callbacks);
+                return ;
+            }
             mc_userdata->test_data = (char*)("user data");
             mc_userdata->test_int = 999;
             mc_userdata->called_qr = false;
@@ -524,10 +578,25 @@ TEST_F(ClientRequestTest, not_allowed_N)
 
             wauthn_ga_callbacks_s *ga_callbacks = nullptr;
             ga_callbacks = (wauthn_ga_callbacks_s*) calloc(1, sizeof(wauthn_ga_callbacks_s));
+            EXPECT_TRUE(ga_callbacks);
+            if (!ga_callbacks)
+            {
+                free(mc_callbacks);
+                free(mc_userdata);
+                return ;
+            }
             ga_callbacks->qrcode_callback = test_cb_display_qrcode;
             ga_callbacks->response_callback = test_cb_ga_response;
             ga_callbacks->linked_data_callback = test_cb_update_linked_data;
             test_user_data_s *ga_userdata = (test_user_data_s*) calloc(1, sizeof(test_user_data_s));
+            EXPECT_TRUE(ga_userdata);
+            if (!ga_userdata)
+            {
+                free(mc_callbacks);
+                free(mc_userdata);
+                free(ga_callbacks);
+                return ;
+            }
             ga_userdata->test_data = (char*)("user data");
             ga_userdata->test_int = 999;
             ga_userdata->called_qr = false;
@@ -576,10 +645,19 @@ TEST_F(ClientRequestTest, cancel_P)
             int retVal = WAUTHN_ERROR_NONE;
             wauthn_mc_callbacks_s *mc_callbacks = nullptr;
             mc_callbacks = (wauthn_mc_callbacks_s*) calloc(1, sizeof(wauthn_mc_callbacks_s));
+            EXPECT_TRUE(mc_callbacks);
+            if (!mc_callbacks)
+                return ;
             mc_callbacks->qrcode_callback = test_cb_display_qrcode;
             mc_callbacks->response_callback = test_cb_mc_response;
             mc_callbacks->linked_data_callback = test_cb_update_linked_data;
             test_user_data_s *mc_userdata = (test_user_data_s*) calloc(1, sizeof(test_user_data_s));
+            EXPECT_TRUE(mc_userdata);
+            if (!mc_userdata)
+            {
+                free(mc_callbacks);
+                return ;
+            }
             mc_userdata->test_data = (char*)("user data");
             mc_userdata->test_int = 999;
             mc_userdata->called_qr = false;
@@ -618,116 +696,4 @@ TEST_F(ClientRequestTest, cancel_P)
     EXPECT_EQ(ret, 0);
 }
 
-/*
- * Holding test for multiple update linked data until webauthn-ble's update
- * for handle the update_linked_data callback
-TEST_F(ClientRequestTest, MC_multiple_update_linked_data_P)
-{
-    int ret = 1;
-    WA::SocketManager manager;
-    try{
-        auto service = std::make_unique<WA::TestService>(std::make_shared<TestDLLoader>());
-        manager.RegisterSocketService(std::move(service));
-        SocketManagerLoop loop(manager);
-        {
-            int retVal = WAUTHN_ERROR_NONE;
-            wauthn_mc_callbacks_s *mc_callbacks = nullptr;
-            mc_callbacks = (wauthn_mc_callbacks_s*) calloc(1, sizeof(wauthn_mc_callbacks_s));
-            mc_callbacks->qrcode_callback = test_cb_display_qrcode;
-            mc_callbacks->response_callback = test_cb_mc_response;
-            mc_callbacks->linked_data_callback = test_cb_update_linked_data;
-            test_user_data_s *mc_userdata = (test_user_data_s*) calloc(1, sizeof(test_user_data_s));
-            mc_userdata->test_data = (char*)("user data");
-            mc_userdata->test_int = 999;
-            mc_userdata->called_qr = false;
-            mc_userdata->called_response = false;
-            g_target_times_update_linked_data = 5;
-            mc_userdata->times_update_linked_data = 0;
-            mc_callbacks->user_data = mc_userdata;
-            retVal = wauthn_process<TestClientRequestMC>(&TestCommonData::clientData,
-                &TestCommonData::pubkeyCredCreationOptionsNoLD, mc_callbacks);
-
-            EXPECT_EQ(retVal, WAUTHN_ERROR_NONE)
-                << "[wauthn_process<TestClientRequestMC>] failed. "
-                << "retVal=" << wauthn_error_to_string(ret) << std::endl;
-
-            // Waiting for called the callbacks
-            sleep(g_target_times_update_linked_data + 5);
-
-            EXPECT_EQ(mc_userdata->called_qr, true)
-                << "The QR callback should be called" << std::endl;
-            EXPECT_EQ(mc_userdata->called_response, true)
-                << "The response callback should be called" << std::endl;
-            EXPECT_EQ(g_target_times_update_linked_data,
-                      mc_userdata->times_update_linked_data)
-                << "The update_linked_data callback should be called for setted times"
-                << std::endl;
-
-            free(mc_userdata);
-            free(mc_callbacks);
-        }
-        sleep(1);
-        ret = 0;
-    } catch (...) {
-        std::cout << "Error in starting service, unknown exception occurred" << std::endl;
-        ret = -1;
-    }
-    EXPECT_EQ(ret, 0);
-}
-
-TEST_F(ClientRequestTest, GA_multiple_update_linked_data_P)
-{
-    int ret = 1;
-    WA::SocketManager manager;
-    try{
-        auto service = std::make_unique<WA::TestService>(std::make_shared<TestDLLoader>());
-        manager.RegisterSocketService(std::move(service));
-        SocketManagerLoop loop(manager);
-        {
-            int retVal = WAUTHN_ERROR_NONE;
-            wauthn_ga_callbacks_s *ga_callbacks = nullptr;
-            ga_callbacks = (wauthn_ga_callbacks_s*) calloc(1, sizeof(wauthn_ga_callbacks_s));
-            ga_callbacks->qrcode_callback = test_cb_display_qrcode;
-            ga_callbacks->response_callback = test_cb_ga_response;
-            ga_callbacks->linked_data_callback = test_cb_update_linked_data;
-            test_user_data_s *ga_userdata = (test_user_data_s*) calloc(1, sizeof(test_user_data_s));
-            ga_userdata->test_data = (char*)("user data");
-            ga_userdata->test_int = 999;
-            ga_userdata->called_qr = false;
-            ga_userdata->called_response = false;
-            g_target_times_update_linked_data = 5;
-            ga_userdata->times_update_linked_data = 0;
-            ga_callbacks->user_data = ga_userdata;
-            retVal = wauthn_process<TestClientRequestGA>(&TestCommonData::clientData,
-                &TestCommonData::pubkeyCredRequestOptionsNoLD, ga_callbacks);
-
-            EXPECT_EQ(retVal, WAUTHN_ERROR_NONE)
-                << "[wauthn_process<TestClientRequestGA>] failed. "
-                << "retVal=" << wauthn_error_to_string(ret) << std::endl;
-
-            // Waiting for called the callbacks
-            sleep(g_target_times_update_linked_data + 5);
-
-            EXPECT_EQ(ga_userdata->called_qr, true)
-                << "The QR callback should be called" << std::endl;
-            EXPECT_EQ(ga_userdata->called_response, true)
-                << "The response callback should be called" << std::endl;
-            EXPECT_EQ(g_target_times_update_linked_data,
-                      ga_userdata->times_update_linked_data)
-                << "The update_linked_data callback should be called for setted times"
-                << std::endl;
-
-            free(ga_userdata);
-            free(ga_callbacks);
-        }
-        sleep(1);
-        ret = 0;
-    } catch (...) {
-        std::cout << "Error in starting service, unknown exception occurred" << std::endl;
-        ret = -1;
-    }
-    EXPECT_EQ(ret, 0);
-}
-*/
-
 } // namespace WebAuthn
index 0e141bc2c83bd474ad0a9162029160aab66dd780..2afc8250f9bb32b90aff05935b6b5e4f9a8ebd72 100644 (file)
@@ -45,6 +45,9 @@ TEST_F(WebAuthnTest, invalid_client_data_N)
 
     wauthn_mc_callbacks_s *mc_callbacks = nullptr;
     mc_callbacks = (wauthn_mc_callbacks_s*) calloc(1, sizeof(wauthn_mc_callbacks_s));
+    EXPECT_TRUE(mc_callbacks);
+    if (!mc_callbacks)
+        return ;
     mc_callbacks->qrcode_callback = test_cb_display_qrcode;
     mc_callbacks->response_callback = test_cb_mc_response;
     mc_callbacks->linked_data_callback = test_cb_update_linked_data;
@@ -57,6 +60,12 @@ TEST_F(WebAuthnTest, invalid_client_data_N)
     ret = WAUTHN_ERROR_NONE;
     wauthn_ga_callbacks_s *ga_callbacks = nullptr;
     ga_callbacks = (wauthn_ga_callbacks_s*) calloc(1, sizeof(wauthn_ga_callbacks_s));
+    EXPECT_TRUE(ga_callbacks);
+    if (!ga_callbacks)
+    {
+        free(mc_callbacks);
+        return ;
+    }
     ga_callbacks->qrcode_callback = test_cb_display_qrcode;
     ga_callbacks->response_callback = test_cb_ga_response;
     ga_callbacks->linked_data_callback = test_cb_update_linked_data;
@@ -76,6 +85,9 @@ TEST_F(WebAuthnTest, invalid_options_N)
 
     wauthn_mc_callbacks_s *mc_callbacks = nullptr;
     mc_callbacks = (wauthn_mc_callbacks_s*) calloc(1, sizeof(wauthn_mc_callbacks_s));
+    EXPECT_TRUE(mc_callbacks);
+    if (!mc_callbacks)
+        return ;
     mc_callbacks->qrcode_callback = test_cb_display_qrcode;
     mc_callbacks->response_callback = test_cb_mc_response;
     mc_callbacks->linked_data_callback = test_cb_update_linked_data;
@@ -88,6 +100,12 @@ TEST_F(WebAuthnTest, invalid_options_N)
     ret = WAUTHN_ERROR_NONE;
     wauthn_ga_callbacks_s *ga_callbacks = nullptr;
     ga_callbacks = (wauthn_ga_callbacks_s*) calloc(1, sizeof(wauthn_ga_callbacks_s));
+    EXPECT_TRUE(ga_callbacks);
+    if (!ga_callbacks)
+    {
+        free(mc_callbacks);
+        return ;
+    }
     ga_callbacks->qrcode_callback = test_cb_display_qrcode;
     ga_callbacks->response_callback = test_cb_ga_response;
     ga_callbacks->linked_data_callback = test_cb_update_linked_data;
@@ -112,6 +130,9 @@ TEST_F(WebAuthnTest, invalid_callbacks_N)
     ret = WAUTHN_ERROR_NONE;
     wauthn_mc_callbacks_s *mc_callbacks = nullptr;
     mc_callbacks = (wauthn_mc_callbacks_s*) calloc(1, sizeof(wauthn_mc_callbacks_s));
+    EXPECT_TRUE(mc_callbacks);
+    if (!mc_callbacks)
+        return ;
     mc_callbacks->qrcode_callback = test_cb_display_qrcode;
     mc_callbacks->response_callback = nullptr;
     mc_callbacks->linked_data_callback = test_cb_update_linked_data;
@@ -137,6 +158,12 @@ TEST_F(WebAuthnTest, invalid_callbacks_N)
     ret = WAUTHN_ERROR_NONE;
     wauthn_ga_callbacks_s *ga_callbacks = nullptr;
     ga_callbacks = (wauthn_ga_callbacks_s*) calloc(1, sizeof(wauthn_ga_callbacks_s));
+    EXPECT_TRUE(ga_callbacks);
+    if (!ga_callbacks)
+    {
+        free(mc_callbacks);
+        return ;
+    }
     ga_callbacks->qrcode_callback = test_cb_display_qrcode;
     ga_callbacks->response_callback = nullptr;
     ga_callbacks->linked_data_callback = test_cb_update_linked_data;
@@ -161,6 +188,9 @@ TEST_F(WebAuthnTest, miss_qr_callback_without_linked_data_N)
     int ret = WAUTHN_ERROR_NONE;
     wauthn_mc_callbacks_s *mc_callbacks = nullptr;
     mc_callbacks = (wauthn_mc_callbacks_s*) calloc(1, sizeof(wauthn_mc_callbacks_s));
+    EXPECT_TRUE(mc_callbacks);
+    if (!mc_callbacks)
+        return ;
     mc_callbacks->qrcode_callback = nullptr;
     mc_callbacks->response_callback = test_cb_mc_response;
     mc_callbacks->linked_data_callback = test_cb_update_linked_data;
@@ -172,6 +202,12 @@ TEST_F(WebAuthnTest, miss_qr_callback_without_linked_data_N)
     ret = WAUTHN_ERROR_NONE;
     wauthn_ga_callbacks_s *ga_callbacks = nullptr;
     ga_callbacks = (wauthn_ga_callbacks_s*) calloc(1, sizeof(wauthn_ga_callbacks_s));
+    EXPECT_TRUE(ga_callbacks);
+    if (!ga_callbacks)
+    {
+        free(mc_callbacks);
+        return ;
+    }
     ga_callbacks->qrcode_callback = nullptr;
     ga_callbacks->response_callback = test_cb_ga_response;
     ga_callbacks->linked_data_callback = test_cb_update_linked_data;