diff --git a/services/dtbschedmgr/src/distributed_sched_service.cpp b/services/dtbschedmgr/src/distributed_sched_service.cpp index f09e2305..16f804ea 100644 --- a/services/dtbschedmgr/src/distributed_sched_service.cpp +++ b/services/dtbschedmgr/src/distributed_sched_service.cpp @@ -2947,7 +2947,7 @@ bool DistributedSchedService::CheckCallingUid() void DistributedSchedService::GetContinueEventInfo(int32_t callingUid, std::vector &events) { - if (callingUid == DEFAULT_REQUEST_CODE) { + if (callingUid == DEFAULT_REQUEST_CODE && dschedContinuation_ != nullptr) { events.emplace_back(dschedContinuation_->continueEvent_); return; } diff --git a/test/fuzztest/bundlemanagercallbackstub_fuzzer/BUILD.gn b/test/fuzztest/bundlemanagercallbackstub_fuzzer/BUILD.gn index 4c3944af..e904e221 100644 --- a/test/fuzztest/bundlemanagercallbackstub_fuzzer/BUILD.gn +++ b/test/fuzztest/bundlemanagercallbackstub_fuzzer/BUILD.gn @@ -45,7 +45,7 @@ ohos_fuzztest("BundleManagerCallBackStubFuzzTest") { sources = [ "${dms_path}/test/fuzztest/util/mock_fuzz_util.cpp", "bundlemanagercallbackstub_fuzzer.cpp", - ] + ] deps = [ "${dms_path}/services/dtbschedmgr:distributedschedsvr" ] diff --git a/test/fuzztest/distributedschedstub_fuzzer/BUILD.gn b/test/fuzztest/distributedschedstub_fuzzer/BUILD.gn index 15b6dc30..3f6c23c7 100644 --- a/test/fuzztest/distributedschedstub_fuzzer/BUILD.gn +++ b/test/fuzztest/distributedschedstub_fuzzer/BUILD.gn @@ -21,13 +21,12 @@ ohos_fuzztest("DistributedSchedStubFuzzTest") { visibility = [ ":*" ] include_dirs = [ - "${dms_path}/test/fuzztest/distributedschedstub_fuzzer", - "${dms_path}/services/dtbschedmgr/include/", - "${dms_path}/services/dtbschedmgr/include/dfx/", + "${dms_path}/common/include/", "${dms_path}/interfaces/innerkits/common/include/", - "${dms_path}/common/include/", + "${dms_path}/services/dtbschedmgr/include/", "${dms_path}/services/dtbschedmgr/include/collaborate/", - "${dms_path}/common/include/", + "${dms_path}/services/dtbschedmgr/include/dfx/", + "${dms_path}/test/fuzztest/distributedschedstub_fuzzer", "${dms_path}/test/fuzztest/util", ] @@ -47,7 +46,6 @@ ohos_fuzztest("DistributedSchedStubFuzzTest") { "${dms_path}/services/dtbschedmgr/test/unittest/mock_distributed_sched.cpp", "${dms_path}/test/fuzztest/util/mock_fuzz_util.cpp", "distributedschedstub_fuzzer.cpp", - "fuzz_util.cpp", ] deps = [ "${dms_path}/services/dtbschedmgr:distributedschedsvr" ] diff --git a/test/fuzztest/distributedschedstub_fuzzer/fuzz_util.cpp b/test/fuzztest/distributedschedstub_fuzzer/fuzz_util.cpp deleted file mode 100644 index 3b71a3d9..00000000 --- a/test/fuzztest/distributedschedstub_fuzzer/fuzz_util.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2024 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "fuzz_util.h" - -#include "accesstoken_kit.h" -#include "nativetoken_kit.h" -#include "token_setproc.h" - -namespace OHOS { -namespace DistributedSchedule { -namespace { -constexpr const char* FOUNDATION_PROCESS_NAME = "foundation"; -} - -void FuzzUtil::MockPermission() -{ - static const char *perms[] = { - "ohos.permission.DISTRIBUTED_DATASYNC" - }; - MockProcessAndPermission(FOUNDATION_PROCESS_NAME, perms, 1); -} - -void FuzzUtil::MockProcessAndPermission(const char* processName, const char *perms[], int32_t permsNum) -{ - uint64_t tokenId; - NativeTokenInfoParams infoInstance = { - .dcapsNum = 0, - .permsNum = permsNum, - .aclsNum = 0, - .dcaps = nullptr, - .perms = perms, - .acls = nullptr, - .processName = processName, - .aplStr = "system_core", - }; - tokenId = GetAccessTokenId(&infoInstance); - SetSelfTokenID(tokenId); - OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); -} -} -} \ No newline at end of file diff --git a/test/fuzztest/dmsfreeinstallcallbackstub_fuzzer/BUILD.gn b/test/fuzztest/dmsfreeinstallcallbackstub_fuzzer/BUILD.gn index 04c0d6fa..c222cf38 100644 --- a/test/fuzztest/dmsfreeinstallcallbackstub_fuzzer/BUILD.gn +++ b/test/fuzztest/dmsfreeinstallcallbackstub_fuzzer/BUILD.gn @@ -45,7 +45,7 @@ ohos_fuzztest("DmsFreeInstallCallBackStubFuzzTest") { sources = [ "${dms_path}/test/fuzztest/util/mock_fuzz_util.cpp", "dmsfreeinstallcallbackstub_fuzzer.cpp", - ] + ] deps = [ "${dms_path}/services/dtbschedmgr:distributedschedsvr" ] diff --git a/services/dtbschedmgr/test/util/mock_fuzz_util.cpp b/test/fuzztest/util/mock_fuzz_util.cpp similarity index 97% rename from services/dtbschedmgr/test/util/mock_fuzz_util.cpp rename to test/fuzztest/util/mock_fuzz_util.cpp index e024ed1c..b4ca8a13 100644 --- a/services/dtbschedmgr/test/util/mock_fuzz_util.cpp +++ b/test/fuzztest/util/mock_fuzz_util.cpp @@ -1,73 +1,73 @@ -/* - * Copyright (c) 2024 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "mock_fuzz_util.h" - -#include "accesstoken_kit.h" -#include "nativetoken_kit.h" -#include "token_setproc.h" - -namespace OHOS { -namespace DistributedSchedule { -namespace { -constexpr const char* FOUNDATION_PROCESS_NAME = "foundation"; -} - -void FuzzUtil::MockPermission() -{ - static const char *perms[] = { - "ohos.permission.ABILITY_BACKGROUND_COMMUNICATION", - "ohos.permission.ACCESS_SERVICE_DM", - "ohos.permission.ACCESS_SERVICE_DP", - "ohos.permission.DISTRIBUTED_DATASYNC", - "ohos.permission.INPUT_MONITORING", - "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", - "ohos.permission.GET_WIFI_INFO", - "ohos.permission.MANAGE_MISSIONS", - "ohos.permission.MANAGE_WIFI_CONNECTION", - "ohos.permission.MONITOR_DEVICE_NETWORK_STATE", - "ohos.permission.PUBLISH_SYSTEM_COMMON_EVENT", - "ohos.permission.REPORT_RESOURCE_SCHEDULE_EVENT", - "ohos.permission.RUNNING_STATE_OBSERVER", - "ohos.permission.START_INVISIBLE_ABILITY", - "ohos.permission.INPUT_MONITORING", - "ohos.permission.MANAGE_MISSIONS", - "ohos.permission.MANAGE_WIFI_CONNECTION", - "ohos.permission.MONITOR_DEVICE_NETWORK_STATE", - "ohos.permission.START_INVISIBLE_ABILITY" - }; - MockProcessAndPermission(FOUNDATION_PROCESS_NAME, perms, 1); -} - -void FuzzUtil::MockProcessAndPermission(const char* processName, const char *perms[], int32_t permsNum) -{ - uint64_t tokenId; - NativeTokenInfoParams infoInstance = { - .dcapsNum = 0, - .permsNum = permsNum, - .aclsNum = 0, - .dcaps = nullptr, - .perms = perms, - .acls = nullptr, - .processName = processName, - .aplStr = "system_core", - }; - tokenId = GetAccessTokenId(&infoInstance); - SetSelfTokenID(tokenId); - OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); - setuid(0); -} -} +/* + * Copyright (c) 2024 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "mock_fuzz_util.h" + +#include "accesstoken_kit.h" +#include "nativetoken_kit.h" +#include "token_setproc.h" + +namespace OHOS { +namespace DistributedSchedule { +namespace { +constexpr const char* FOUNDATION_PROCESS_NAME = "foundation"; +} + +void FuzzUtil::MockPermission() +{ + static const char *perms[] = { + "ohos.permission.ABILITY_BACKGROUND_COMMUNICATION", + "ohos.permission.ACCESS_SERVICE_DM", + "ohos.permission.ACCESS_SERVICE_DP", + "ohos.permission.DISTRIBUTED_DATASYNC", + "ohos.permission.INPUT_MONITORING", + "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "ohos.permission.GET_WIFI_INFO", + "ohos.permission.MANAGE_MISSIONS", + "ohos.permission.MANAGE_WIFI_CONNECTION", + "ohos.permission.MONITOR_DEVICE_NETWORK_STATE", + "ohos.permission.PUBLISH_SYSTEM_COMMON_EVENT", + "ohos.permission.REPORT_RESOURCE_SCHEDULE_EVENT", + "ohos.permission.RUNNING_STATE_OBSERVER", + "ohos.permission.START_INVISIBLE_ABILITY", + "ohos.permission.INPUT_MONITORING", + "ohos.permission.MANAGE_MISSIONS", + "ohos.permission.MANAGE_WIFI_CONNECTION", + "ohos.permission.MONITOR_DEVICE_NETWORK_STATE", + "ohos.permission.START_INVISIBLE_ABILITY" + }; + MockProcessAndPermission(FOUNDATION_PROCESS_NAME, perms, 1); +} + +void FuzzUtil::MockProcessAndPermission(const char* processName, const char *perms[], int32_t permsNum) +{ + uint64_t tokenId; + NativeTokenInfoParams infoInstance = { + .dcapsNum = 0, + .permsNum = permsNum, + .aclsNum = 0, + .dcaps = nullptr, + .perms = perms, + .acls = nullptr, + .processName = processName, + .aplStr = "system_core", + }; + tokenId = GetAccessTokenId(&infoInstance); + SetSelfTokenID(tokenId); + OHOS::Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo(); + setuid(0); +} +} } \ No newline at end of file diff --git a/test/fuzztest/distributedschedstub_fuzzer/fuzz_util.h b/test/fuzztest/util/mock_fuzz_util.h similarity index 95% rename from test/fuzztest/distributedschedstub_fuzzer/fuzz_util.h rename to test/fuzztest/util/mock_fuzz_util.h index 6987b1cb..d9eb44b7 100644 --- a/test/fuzztest/distributedschedstub_fuzzer/fuzz_util.h +++ b/test/fuzztest/util/mock_fuzz_util.h @@ -28,4 +28,4 @@ public: }; } } // namespace OHOS -#endif // SAMGR_SERVICES_SAMGR_MOCK_PERMISSION_H \ No newline at end of file +#endif \ No newline at end of file