Add parameter checking routinue for priv shared res APIs 09/263709/2
authorJunghyun Yeon <jungh.yeon@samsung.com>
Wed, 8 Sep 2021 11:31:53 +0000 (20:31 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Thu, 9 Sep 2021 04:49:16 +0000 (13:49 +0900)
Change-Id: I1959f1f96eb8e449904d99de870cc09a0a576274
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/package_manager.c

index 2dbee7f..973920a 100644 (file)
@@ -2544,6 +2544,12 @@ API int package_manager_request_res_copy_with_cb(package_manager_request_h reque
        int ret;
        int req_id = 0;
 
+       if (package_manager_client_validate_handle(request)
+                       || callback == NULL || id == NULL) {
+               return package_manager_error(
+                               PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
+       }
+
        ret = check_privilege(PRIVILEGE_PACKAGE_MANAGER_ADMIN);
        if (ret != PACKAGE_MANAGER_ERROR_NONE)
                return ret;
@@ -2597,6 +2603,12 @@ API int package_manager_request_res_create_dir_with_cb(
        int ret;
        int req_id = 0;
 
+       if (package_manager_client_validate_handle(request)
+                       || callback == NULL || id == NULL) {
+               return package_manager_error(
+                               PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
+       }
+
        if (request->request_cb_table == NULL)
                __initialize_request_cb_table(request);
 
@@ -2650,6 +2662,12 @@ API int package_manager_request_res_remove_with_cb(
        int ret;
        int req_id = 0;
 
+       if (package_manager_client_validate_handle(request)
+                       || callback == NULL || id == NULL) {
+               return package_manager_error(
+                               PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
+       }
+
        ret = check_privilege(PRIVILEGE_PACKAGE_MANAGER_ADMIN);
        if (ret != PACKAGE_MANAGER_ERROR_NONE)
                return ret;