From 3ca6d840cce8f644810b55ee732d8628df33ae82 Mon Sep 17 00:00:00 2001 From: chenshuteng Date: Fri, 2 Dec 2022 10:39:12 +0800 Subject: [PATCH] add fileaccessext fuzztest Signed-off-by: chenshuteng Change-Id: Ide8534dc6c8993789d88f7d16aaef3009f9b8b82 --- .../externalfileaccess_fuzzer/BUILD.gn | 10 +++++ .../external_file_access_fuzzer.cpp | 38 +++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/frameworks/innerkits/file_access/test/fuzztest/externalfileaccess_fuzzer/BUILD.gn b/frameworks/innerkits/file_access/test/fuzztest/externalfileaccess_fuzzer/BUILD.gn index 5a317be9..05979a37 100644 --- a/frameworks/innerkits/file_access/test/fuzztest/externalfileaccess_fuzzer/BUILD.gn +++ b/frameworks/innerkits/file_access/test/fuzztest/externalfileaccess_fuzzer/BUILD.gn @@ -26,6 +26,16 @@ ohos_fuzztest("ExternalFileAccessFuzzTest") { "//foundation/ability/ability_runtime/frameworks/kits/appkit/native/ability_runtime/context", "//foundation/filemanagement/user_file_service/frameworks/innerkits/file_access/include", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common", + "//foundation/aafwk/standard/frameworks/kits/appkit/native/app/include", + "//foundation/appexecfwk/standard/interfaces/innerkits/appexecfwk_base/include", + "//foundation/bundlemanager/bundle_framework/interfaces/inner_api/appexecfwk_base/include", + "//foundation/ability/ability_base/interfaces/kits/native/want/include", + "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include", + "${ability_runtime_services_path}/common/include", + "${ability_runtime_kits_path}/ability/native/include/continuation/distributed", + "${ability_runtime_kits_path}/ability/native/include/continuation/kits", + "${ability_runtime_kits_path}/appkit/native/app/include", + "${ability_runtime_napi_path}/inner/napi_common", "${BASE_DIR}/utils", ] diff --git a/frameworks/innerkits/file_access/test/fuzztest/externalfileaccess_fuzzer/external_file_access_fuzzer.cpp b/frameworks/innerkits/file_access/test/fuzztest/externalfileaccess_fuzzer/external_file_access_fuzzer.cpp index 735b61b9..9af3ef65 100644 --- a/frameworks/innerkits/file_access/test/fuzztest/externalfileaccess_fuzzer/external_file_access_fuzzer.cpp +++ b/frameworks/innerkits/file_access/test/fuzztest/externalfileaccess_fuzzer/external_file_access_fuzzer.cpp @@ -22,6 +22,7 @@ #include "accesstoken_kit.h" #include "token_setproc.h" #include "nativetoken_kit.h" +#include "file_access_ext_connection.h" #include "file_access_framework_errno.h" #include "file_access_helper.h" #include "iservice_registry.h" @@ -427,8 +428,41 @@ bool UriToFileInfoFuzzTest(const uint8_t* data, size_t size) return true; } +bool OnAbilityConnectDoneFuzzTest(const uint8_t* data, size_t size) +{ + if ((data == nullptr) || (size <= 0)) { + HILOG_ERROR("parameter data is nullptr or parameter size <= 0."); + return false; + } + const int res = *(reinterpret_cast(data)); + std::string deviceId(reinterpret_cast(data), size); + std::string bundleName(reinterpret_cast(data), size); + std::string abilityName(reinterpret_cast(data), size); + std::string moduleName(reinterpret_cast(data), size); + + sptr fileAccessExtConnection = new(std::nothrow) FileAccessExtConnection(); + AppExecFwk::ElementName ele(deviceId, bundleName, abilityName, moduleName); + sptr remote = nullptr; + + fileAccessExtConnection->OnAbilityConnectDone(ele, remote, res); + return true; } +bool IsExtAbilityConnectedFuzzTest(const uint8_t* data, size_t size) +{ + sptr fileAccessExtConnection = new(std::nothrow) FileAccessExtConnection(); + fileAccessExtConnection->IsExtAbilityConnected(); + return true; +} + +bool GetFileExtProxyFuzzTest(const uint8_t* data, size_t size) +{ + sptr fileAccessExtConnection = new(std::nothrow) FileAccessExtConnection(); + fileAccessExtConnection->GetFileExtProxy(); + return true; +} + + /* Fuzzer entry point */ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { @@ -444,5 +478,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) OHOS::ListFileFuzzTest(data, size); OHOS::ScanFileFuzzTest(data, size); OHOS::UriToFileInfoFuzzTest(data, size); + OHOS::OnAbilityConnectDoneFuzzTest(data, size); + OHOS::FileExtAbilityFuzzTest(data, size); + OHOS::IsExtAbilityConnectedFuzzTest(data, size); + OHOS::GetFileExtProxyFuzzTest(data, size); return 0; } \ No newline at end of file -- Gitee