From db3229ef17c834203a9257b9216b901931cc7637 Mon Sep 17 00:00:00 2001 From: huangshiwei Date: Sat, 5 Jul 2025 16:42:57 +0800 Subject: [PATCH] huangshiwei4@huawei.com Signed-off-by: huangshiwei --- ...itymgrecologicalruleinterceptor_fuzzer.cpp | 5 +- ...bilitymgruiextensionsessioninfo_fuzzer.cpp | 31 +++-- .../BUILD.gn | 107 ++++++++++++++++++ .../corpus/init | 16 +++ ...xtensioncontrolinterceptorfirst_fuzzer.cpp | 82 ++++++++++++++ .../extensioncontrolinterceptorfirst_fuzzer.h | 21 ++++ .../project.xml | 25 ++++ test/fuzztest/missionsnapshot_fuzzer/BUILD.gn | 92 +++++++++++++++ .../missionsnapshot_fuzzer/corpus/init | 16 +++ .../missionsnapshot_fuzzer.cpp | 53 +++++++++ .../missionsnapshot_fuzzer.h | 21 ++++ .../missionsnapshot_fuzzer/project.xml | 25 ++++ 12 files changed, 483 insertions(+), 11 deletions(-) create mode 100644 test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/BUILD.gn create mode 100644 test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/corpus/init create mode 100644 test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/extensioncontrolinterceptorfirst_fuzzer.cpp create mode 100644 test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/extensioncontrolinterceptorfirst_fuzzer.h create mode 100644 test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/project.xml create mode 100644 test/fuzztest/missionsnapshot_fuzzer/BUILD.gn create mode 100644 test/fuzztest/missionsnapshot_fuzzer/corpus/init create mode 100644 test/fuzztest/missionsnapshot_fuzzer/missionsnapshot_fuzzer.cpp create mode 100644 test/fuzztest/missionsnapshot_fuzzer/missionsnapshot_fuzzer.h create mode 100644 test/fuzztest/missionsnapshot_fuzzer/project.xml diff --git a/test/fuzztest/abilitymgrecologicalruleinterceptor_fuzzer/abilitymgrecologicalruleinterceptor_fuzzer.cpp b/test/fuzztest/abilitymgrecologicalruleinterceptor_fuzzer/abilitymgrecologicalruleinterceptor_fuzzer.cpp index a2e7813aaf1..2d9a6246eb1 100644 --- a/test/fuzztest/abilitymgrecologicalruleinterceptor_fuzzer/abilitymgrecologicalruleinterceptor_fuzzer.cpp +++ b/test/fuzztest/abilitymgrecologicalruleinterceptor_fuzzer/abilitymgrecologicalruleinterceptor_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 Huawei Device Co., Ltd. + * Copyright (c) 2024-2025 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 @@ -79,12 +79,15 @@ bool DoSomethingInterestingWithMyAPI(const char* data, size_t size) const std::shared_ptr abilityInfo; AbilityCallerInfo callerInfo; int32_t bundleType = static_cast(GetU32Data(data)); + AtomicServiceStartupRule rule; + sptr replaceWant; executer->DoProcess(param); executer->DoProcess(want, userId); executer->GetEcologicalTargetInfo(want, abilityInfo, callerInfo); executer->GetEcologicalCallerInfo(want, callerInfo, userId, token); executer->InitErmsCallerInfo(want, abilityInfo, callerInfo, userId, token); executer->GetAppTypeByBundleType(bundleType); + executer->QueryAtomicServiceStartupRule(want, token, userId, rule, replaceWant); return true; } } // namespace OHOS diff --git a/test/fuzztest/abilitymgruiextensionsessioninfo_fuzzer/abilitymgruiextensionsessioninfo_fuzzer.cpp b/test/fuzztest/abilitymgruiextensionsessioninfo_fuzzer/abilitymgruiextensionsessioninfo_fuzzer.cpp index b2f7a7fe2e3..99085225221 100644 --- a/test/fuzztest/abilitymgruiextensionsessioninfo_fuzzer/abilitymgruiextensionsessioninfo_fuzzer.cpp +++ b/test/fuzztest/abilitymgruiextensionsessioninfo_fuzzer/abilitymgruiextensionsessioninfo_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024 Huawei Device Co., Ltd. + * Copyright (c) 2024-2025 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 @@ -17,32 +17,43 @@ #include #include -#include -#include "securec.h" #include +#include + #define private public #include "ui_extension/ui_extension_session_info.h" #undef private +#include "securec.h" + using namespace OHOS::AAFwk; using namespace OHOS::AbilityRuntime; namespace OHOS { -bool DoSomethingInterestingWithMyAPI(FuzzedDataProvider *fdp) +bool DoSomethingInterestingWithMyAPI(const uint8_t* data, size_t size) { std::shared_ptr uiExtensionSessionInfo = std::make_shared(); Parcel parcel; - parcel.WriteString(fdp->ConsumeRandomLengthString()); - uiExtensionSessionInfo-> Marshalling(parcel); + FuzzedDataProvider fdp(data, size); + parcel.WriteInt32(fdp.ConsumeIntegral()); + parcel.WriteInt32(uiExtensionSessionInfo->persistentId); + uiExtensionSessionInfo->Marshalling(parcel); + parcel.WriteInt32(fdp.ConsumeIntegral()); + parcel.WriteInt32(uiExtensionSessionInfo->hostWindowId); + uiExtensionSessionInfo->Marshalling(parcel); + parcel.WriteInt32(static_cast(uiExtensionSessionInfo->uiExtensionUsage)); + uiExtensionSessionInfo->Marshalling(parcel); + parcel.WriteInt32(static_cast(uiExtensionSessionInfo->extensionAbilityType)); + uiExtensionSessionInfo->Marshalling(parcel); + uiExtensionSessionInfo->Unmarshalling(parcel); return true; } } // namespace OHOS /* Fuzzer entry point */ -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - /* Run your code on data */ - FuzzedDataProvider fdp(data, size); - OHOS::DoSomethingInterestingWithMyAPI(&fdp); + // Run your code on data. + OHOS::DoSomethingInterestingWithMyAPI(data, size); return 0; } \ No newline at end of file diff --git a/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/BUILD.gn b/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/BUILD.gn new file mode 100644 index 00000000000..dba0d41b144 --- /dev/null +++ b/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/BUILD.gn @@ -0,0 +1,107 @@ +# Copyright (c) 2025 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. + +#####################hydra-fuzz################### +import("//build/config/features.gni") +import("//build/ohos.gni") +import("//build/test.gni") +import("//foundation/ability/ability_runtime/ability_runtime.gni") +module_output_path = "ability_runtime/abilitymgr" + +##############################fuzztest########################################## +ohos_fuzztest("ExtensionControlInterceptorFirstFuzzTest") { + module_out_path = module_output_path + + cflags_cc = [] + fuzz_config_file = + "${ability_runtime_test_path}/fuzztest/extensioncontrolinterceptorfirst_fuzzer" + include_dirs = [ + "${ability_runtime_path}/interfaces/kits/native/appkit/ability_bundle_manager_helper", + "${ability_runtime_innerkits_path}/app_manager/include/appmgr", + "${ability_runtime_services_path}/abilitymgr/include/interceptor", + ] + cflags = [ + "-g", + "-O0", + "-Wno-unused-variable", + "-fno-omit-frame-pointer", + ] + sources = [ + "${ability_runtime_services_path}/abilitymgr/src/app_scheduler.cpp", + "${ability_runtime_services_path}/abilitymgr/src/utils/start_ability_utils.cpp", + "${ability_runtime_services_path}/abilitymgr/src/utils/state_utils.cpp", + "extensioncontrolinterceptorfirst_fuzzer.cpp", + ] + + configs = [ "${ability_runtime_services_path}/abilitymgr:abilityms_config" ] + + cflags = [] + if (target_cpu == "arm") { + cflags += [ "-DBINDER_IPC_32BIT" ] + } + + deps = [ + "${ability_runtime_innerkits_path}/ability_manager:ability_manager", + "${ability_runtime_innerkits_path}/ability_manager:ability_start_options", + "${ability_runtime_innerkits_path}/app_manager:app_manager", + "${ability_runtime_native_path}/ability/native:abilitykit_native", + "${ability_runtime_native_path}/appkit:appkit_manager_helper", + "${ability_runtime_path}/utils/server/startup:startup_util", + "${ability_runtime_services_path}/abilitymgr:abilityms", + "${ability_runtime_services_path}/common:app_util", + "${ability_runtime_services_path}/common:perm_verification", + ] + + external_deps = [ + "ability_base:want", + "ability_base:zuri", + "ability_runtime:ability_deps_wrapper", + "bundle_framework:appexecfwk_base", + "bundle_framework:appexecfwk_core", + "c_utils:utils", + "common_event_service:cesfwk_innerkits", + "dsoftbus:softbus_client", + "eventhandler:libeventhandler", + "ffrt:libffrt", + "hilog:libhilog", + "hisysevent:libhisysevent", + "hitrace:hitrace_meter", + "ipc:ipc_core", + "libjpeg-turbo:turbojpeg", + "napi:ace_napi", + "safwk:api_cache_manager", + "samgr:samgr_proxy", + ] + + if (background_task_mgr_continuous_task_enable) { + external_deps += [ "background_task_mgr:bgtaskmgr_innerkits" ] + } + + if (ability_runtime_graphics) { + external_deps += [ "window_manager:libwm" ] + } + if (os_dlp_part_enabled) { + cflags_cc += [ "-DWITH_DLP" ] + } +} + +############################################################################### +group("fuzztest") { + testonly = true + deps = [] + deps += [ + # deps file + ":ExtensionControlInterceptorFirstFuzzTest", + ] +} +############################################################################### diff --git a/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/corpus/init b/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/corpus/init new file mode 100644 index 00000000000..7ade8a0faaf --- /dev/null +++ b/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/corpus/init @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2025 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. + */ + +FUZZ \ No newline at end of file diff --git a/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/extensioncontrolinterceptorfirst_fuzzer.cpp b/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/extensioncontrolinterceptorfirst_fuzzer.cpp new file mode 100644 index 00000000000..64c3e35fa68 --- /dev/null +++ b/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/extensioncontrolinterceptorfirst_fuzzer.cpp @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2025 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 "extensioncontrolinterceptorfirst_fuzzer.h" + +#include +#include +#include + +#define private public +#include "extension_control_interceptor.h" +#undef private + +#include "ability_record.h" + +using namespace OHOS::AAFwk; +using namespace OHOS::AppExecFwk; + +namespace OHOS { +namespace { +constexpr size_t STRING_MAX_LENGTH = 128; +} +sptr GetFuzzAbilityToken() +{ + sptr token = nullptr; + AbilityRequest abilityRequest; + abilityRequest.appInfo.bundleName = "com.example.fuzzTest"; + abilityRequest.abilityInfo.name = "MainAbility"; + abilityRequest.abilityInfo.type = AbilityType::DATA; + std::shared_ptr abilityRecord = AbilityRecord::CreateAbilityRecord(abilityRequest); + if (abilityRecord) { + token = abilityRecord->GetToken(); + } + return token; +} + +bool DoSomethingInterestingWithMyAPI(const uint8_t* data, size_t size) +{ + std::shared_ptr extensionControlInterceptor = + std::make_shared(); + int intParam; + int32_t int32Param; + Want want; + bool boolParam; + sptr token = GetFuzzAbilityToken(); + auto shouldBlockFunc = []() { return false; }; + FuzzedDataProvider fdp(data, size); + intParam = fdp.ConsumeIntegral(); + int32Param = fdp.ConsumeIntegral(); + boolParam = fdp.ConsumeBool(); + AbilityInterceptorParam param = AbilityInterceptorParam(want, intParam, int32Param, boolParam, token, + shouldBlockFunc); + AbilityInfo callerAbilityInfo; + AbilityInfo targetAbilityInfo; + extensionControlInterceptor->DoProcess(param); + extensionControlInterceptor->ProcessInterceptOld(param, targetAbilityInfo, callerAbilityInfo); + extensionControlInterceptor->ProcessInterceptNew(param, targetAbilityInfo, callerAbilityInfo); + extensionControlInterceptor->GetCallerAbilityInfo(param, callerAbilityInfo); + extensionControlInterceptor->GetTargetAbilityInfo(param, targetAbilityInfo); + return true; +} +} + +/* Fuzzer entry point */ +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + // Run your code on data. + OHOS::DoSomethingInterestingWithMyAPI(data, size); + return 0; +} \ No newline at end of file diff --git a/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/extensioncontrolinterceptorfirst_fuzzer.h b/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/extensioncontrolinterceptorfirst_fuzzer.h new file mode 100644 index 00000000000..39b6f538b56 --- /dev/null +++ b/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/extensioncontrolinterceptorfirst_fuzzer.h @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2025 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. + */ + +#ifndef FUZZTEST_OHOS_ABILITY_RUNTIME_EXTENSION_CONTROL_INTERCEPTOR_FIRST_FUZZER_H +#define FUZZTEST_OHOS_ABILITY_RUNTIME_EXTENSION_CONTROL_INTERCEPTOR_FIRST_FUZZER_H + +#define FUZZ_PROJECT_NAME "extensioncontrolinterceptorfirst_fuzzer" + +#endif \ No newline at end of file diff --git a/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/project.xml b/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/project.xml new file mode 100644 index 00000000000..500f6f41449 --- /dev/null +++ b/test/fuzztest/extensioncontrolinterceptorfirst_fuzzer/project.xml @@ -0,0 +1,25 @@ + + + + + + 1000 + + 300 + + 4096 + + \ No newline at end of file diff --git a/test/fuzztest/missionsnapshot_fuzzer/BUILD.gn b/test/fuzztest/missionsnapshot_fuzzer/BUILD.gn new file mode 100644 index 00000000000..72557dd6125 --- /dev/null +++ b/test/fuzztest/missionsnapshot_fuzzer/BUILD.gn @@ -0,0 +1,92 @@ +# Copyright (c) 2025 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. + +#####################hydra-fuzz################### +import("//build/config/features.gni") +import("//build/ohos.gni") +import("//build/test.gni") +import("//foundation/ability/ability_runtime/ability_runtime.gni") +module_output_path = "ability_runtime/abilitymgr" + +##############################fuzztest########################################## +ohos_fuzztest("MissionSnapshotFuzzTest") { + module_out_path = module_output_path + + fuzz_config_file = + "${ability_runtime_test_path}/fuzztest/missionsnapshot_fuzzer" + include_dirs = [ + "${ability_runtime_innerkits_path}/ability_manager/include", + "${ability_runtime_innerkits_path}/dataobs_manager/include", + ] + cflags = [ + "-g", + "-O0", + "-Wno-unused-variable", + "-fno-omit-frame-pointer", + ] + sources = [ "missionsnapshot_fuzzer.cpp" ] + + configs = [ + "${ability_runtime_innerkits_path}/ability_manager:ability_manager_public_config", + "${ability_runtime_services_path}/abilitymgr:abilityms_config", + ] + + deps = [ + "${ability_runtime_innerkits_path}/ability_manager:ability_manager", + "${ability_runtime_innerkits_path}/ability_manager:mission_info", + "${ability_runtime_native_path}/ability/native:abilitykit_native", + "${ability_runtime_services_path}/abilitymgr:abilityms", + "${ability_runtime_services_path}/abilitymgr:mission_list", + ] + + external_deps = [ + "ability_base:want", + "ability_base:zuri", + "bundle_framework:appexecfwk_base", + "c_utils:utils", + "common_event_service:cesfwk_core", + "common_event_service:cesfwk_innerkits", + "ffrt:libffrt", + "image_framework:image_native", + "input:libmmi-client", + "ipc:ipc_core", + "napi:ace_napi", + "relational_store:native_dataability", + "relational_store:native_rdb", + "samgr:samgr_proxy", + ] + + if (ability_runtime_graphics) { + deps += [] + external_deps += [ + "i18n:intl_util", + "window_manager:libwm", + ] + } + if (ability_runtime_upms) { + deps += [ + "${ability_runtime_innerkits_path}/uri_permission:uri_permission_mgr", + ] + } +} + +############################################################################### +group("fuzztest") { + testonly = true + deps = [] + deps += [ + # deps file + ":MissionSnapshotFuzzTest", + ] +} +############################################################################### diff --git a/test/fuzztest/missionsnapshot_fuzzer/corpus/init b/test/fuzztest/missionsnapshot_fuzzer/corpus/init new file mode 100644 index 00000000000..7ade8a0faaf --- /dev/null +++ b/test/fuzztest/missionsnapshot_fuzzer/corpus/init @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2025 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. + */ + +FUZZ \ No newline at end of file diff --git a/test/fuzztest/missionsnapshot_fuzzer/missionsnapshot_fuzzer.cpp b/test/fuzztest/missionsnapshot_fuzzer/missionsnapshot_fuzzer.cpp new file mode 100644 index 00000000000..db88e707e38 --- /dev/null +++ b/test/fuzztest/missionsnapshot_fuzzer/missionsnapshot_fuzzer.cpp @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2025 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 "missionsnapshot_fuzzer.h" + +#include +#include +#include + +#define private public +#include "mission_snapshot.h" +#undef private + +using namespace OHOS::AAFwk; +using namespace OHOS::AppExecFwk; + +namespace OHOS { +namespace { +constexpr size_t STRING_MAX_LENGTH = 128; +} + +bool DoSomethingInterestingWithMyAPI(const uint8_t* data, size_t size) +{ + MissionSnapshot missionSnapshot; + FuzzedDataProvider fdp(data, size); + Parcel parcel; + parcel.WriteString(fdp.ConsumeRandomLengthString(STRING_MAX_LENGTH)); + missionSnapshot.ReadFromParcel(parcel); + missionSnapshot.Marshalling(parcel); + missionSnapshot.Unmarshalling(parcel); + return true; +} +} + +/* Fuzzer entry point */ +extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) +{ + // Run your code on data. + OHOS::DoSomethingInterestingWithMyAPI(data, size); + return 0; +} \ No newline at end of file diff --git a/test/fuzztest/missionsnapshot_fuzzer/missionsnapshot_fuzzer.h b/test/fuzztest/missionsnapshot_fuzzer/missionsnapshot_fuzzer.h new file mode 100644 index 00000000000..1b1bce0dd36 --- /dev/null +++ b/test/fuzztest/missionsnapshot_fuzzer/missionsnapshot_fuzzer.h @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2025 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. + */ + +#ifndef FUZZTEST_OHOS_ABILITY_RUNTIME_MISSIONSNAPSHOT_FUZZER_H +#define FUZZTEST_OHOS_ABILITY_RUNTIME_MISSIONSNAPSHOT_FUZZER_H + +#define FUZZ_PROJECT_NAME "missionsnapshot_fuzzer" + +#endif // FUZZTEST_OHOS_ABILITY_RUNTIME_MISSIONSNAPSHOT_FUZZER_H \ No newline at end of file diff --git a/test/fuzztest/missionsnapshot_fuzzer/project.xml b/test/fuzztest/missionsnapshot_fuzzer/project.xml new file mode 100644 index 00000000000..500f6f41449 --- /dev/null +++ b/test/fuzztest/missionsnapshot_fuzzer/project.xml @@ -0,0 +1,25 @@ + + + + + + 1000 + + 300 + + 4096 + + \ No newline at end of file -- Gitee