Fix USE_AFTER_FREE Critical Defect 65/324365/1
authortranthanhtung2001 <tran.tung@samsung.com>
Fri, 16 May 2025 03:51:59 +0000 (10:51 +0700)
committertranthanhtung2001 <tran.tung@samsung.com>
Fri, 16 May 2025 03:51:59 +0000 (10:51 +0700)
Change-Id: I1ebc0c2efe8957cd2ab5e0ecc39e37a9c0cc0d65

test/tc-common.h
test/tc-privilege-info.c

index 89dea88cc8950d9c2e5a0586e33d463d9e1c92e2..39494012eef54bd47371e6b02a017b124d8a9cee 100644 (file)
 #define POS_TC_PREFIX "positive: "
 #define NEG_TC_PREFIX "negative: "
 
+#define SafeFree(var) { \
+       if (var != NULL) { \
+               free(var); \
+               var = NULL; \
+       } \
+}
+
 extern int success_cnt;
 extern int fail_cnt;
 extern GList *privilege_list;
index 740465bcd668326e51d660c3c5db207ec350789a..4381c944fec6603531816630f9889494bc10ed54 100644 (file)
@@ -482,8 +482,7 @@ void __test_privilege_info_get_privilege_description()
        expected_description = "IDS_TPLATFORM_BODY_THIS_APPLICATION_CAN_READ_ACCOUNTS";
        ret = privilege_info_get_privilege_description("http://tizen.org/privilege/account.read", &description);
        __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description, expected_description);
-       free(description);
-       description = NULL;
+       SafeFree(description);
        __print_line();
 
        __tcinfo(goal, NEG_TC_PREFIX "__test_privilege_info_get_privilege_description with wrong parameter");
@@ -491,8 +490,7 @@ void __test_privilege_info_get_privilege_description()
        expected_description = NULL;
        ret = privilege_info_get_privilege_description("http://tizen.org/privilege/badge.admin", &description);
        __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description, expected_description);
-       free(description);
-       description = NULL;
+       SafeFree(description);
        __print_line();
 
        __tcinfo(goal, NEG_TC_PREFIX "__test_privilege_info_get_privilege_description with invalid parameter");
@@ -500,15 +498,14 @@ void __test_privilege_info_get_privilege_description()
        expected_description = NULL;
        ret = privilege_info_get_privilege_description("http://tizen.org/privilege/accousdfsdnt.resdfsdfad", &description);
        __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description, expected_description);
-       free(description);
-       description = NULL;
+       SafeFree(description);
        __print_line();
 
        __tcinfo(goal, NEG_TC_PREFIX "__test_privilege_info_get_privilege_description with null parameter");
        ret = privilege_info_get_privilege_description(NULL, &description);
        __check_get_privilege_description_result(PRVMGR_ERR_INVALID_PARAMETER, ret, description, expected_description);
-       free(description);
-       free(expected_description);
+       SafeFree(description);
+       SafeFree(expected_description);
        __print_line();
 }
 
@@ -967,8 +964,7 @@ void __test_privilege_info_get_privilege_description_by_package_type()
                PRVMGR_PACKAGE_TYPE_CORE,
                &description);
        __check_get_privilege_description_result(PRVMGR_ERR_NONE, ret, description, expected_description);
-       free(description);
-       description = NULL;
+       SafeFree(description);
        __print_line();
 
        __tcinfo(goal, NEG_TC_PREFIX "__test_privilege_info_get_privilege_description_by_package_type with invalid privilege");
@@ -980,7 +976,7 @@ void __test_privilege_info_get_privilege_description_by_package_type()
                PRVMGR_PACKAGE_TYPE_CORE,
                &description);
        __check_get_privilege_description_result(PRVMGR_ERR_NO_EXIST_PRIVILEGE, ret, description, expected_description);
-       free(description);
+       SafeFree(description);
        __print_line();
 
        __tcinfo(goal, NEG_TC_PREFIX "__test_privilege_info_get_privilege_description_by_package_type with null privilege");
@@ -992,7 +988,7 @@ void __test_privilege_info_get_privilege_description_by_package_type()
                PRVMGR_PACKAGE_TYPE_CORE,
                &description);
        __check_get_privilege_description_result(PRVMGR_ERR_INVALID_PARAMETER, ret, description, expected_description);
-       free(description);
+       SafeFree(description);
        __print_line();
 
        __tcinfo(goal, NEG_TC_PREFIX "__test_privilege_info_get_privilege_description_by_package_type with PRVMGR_PACKAGE_TYPE_NONE");
@@ -1004,7 +1000,7 @@ void __test_privilege_info_get_privilege_description_by_package_type()
                PRVMGR_PACKAGE_TYPE_NONE,
                &description);
        __check_get_privilege_description_result(PRVMGR_ERR_INVALID_PARAMETER, ret, description, expected_description);
-       free(description);
+       SafeFree(description);
        __print_line();
 }
 
@@ -1025,8 +1021,7 @@ void __test_privilege_info_get_privilege_display_name_by_package_type()
                PRVMGR_PACKAGE_TYPE_CORE,
                &display_name);
        __check_get_privilege_display_name_result(PRVMGR_ERR_NONE, ret, display_name, expected_display_name);
-       free(display_name);
-       display_name = NULL;
+       SafeFree(display_name);
        expected_display_name = NULL;
        __print_line();
 
@@ -1039,7 +1034,7 @@ void __test_privilege_info_get_privilege_display_name_by_package_type()
                PRVMGR_PACKAGE_TYPE_CORE,
                &display_name);
        __check_get_privilege_display_name_result(PRVMGR_ERR_NO_EXIST_PRIVILEGE, ret, display_name, expected_display_name);
-       free(display_name);
+       SafeFree(display_name);
        __print_line();
 
        __tcinfo(goal, NEG_TC_PREFIX "__test_privilege_info_get_privilege_display_name_by_package_type with null privilege");
@@ -1047,7 +1042,7 @@ void __test_privilege_info_get_privilege_display_name_by_package_type()
        printf("privilege : NULL\n");
        ret = privilege_info_get_privilege_display_name_by_package_type(NULL, "2.3", PRVMGR_PACKAGE_TYPE_CORE, &display_name);
        __check_get_privilege_display_name_result(PRVMGR_ERR_INVALID_PARAMETER, ret, display_name, expected_display_name);
-       free(display_name);
+       SafeFree(display_name);
        __print_line();
 
        __tcinfo(goal, NEG_TC_PREFIX "__test_privilege_info_get_privilege_display_name_by_package_type with PRVMGR_PACKAGE_TYPE_NONE");
@@ -1055,7 +1050,7 @@ void __test_privilege_info_get_privilege_display_name_by_package_type()
        printf("privilege : NULL\n");
        ret = privilege_info_get_privilege_display_name_by_package_type(NULL, "2.3", PRVMGR_PACKAGE_TYPE_NONE, &display_name);
        __check_get_privilege_display_name_result(PRVMGR_ERR_INVALID_PARAMETER, ret, display_name, expected_display_name);
-       free(display_name);
+       SafeFree(display_name);
        __print_line();
 }