From e7a3d4fe59649629f8541b7379dcac4097f018c4 Mon Sep 17 00:00:00 2001 From: xuwenqi Date: Tue, 1 Jul 2025 14:33:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85fuzz=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E7=8E=87=20Signed-off-by:=20xuwenqi=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datashareserviceimpl_fuzzer.cpp | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/services/distributeddataservice/service/test/fuzztest/datashareserviceimpl_fuzzer/datashareserviceimpl_fuzzer.cpp b/services/distributeddataservice/service/test/fuzztest/datashareserviceimpl_fuzzer/datashareserviceimpl_fuzzer.cpp index 9e3376137..20736a7e7 100644 --- a/services/distributeddataservice/service/test/fuzztest/datashareserviceimpl_fuzzer/datashareserviceimpl_fuzzer.cpp +++ b/services/distributeddataservice/service/test/fuzztest/datashareserviceimpl_fuzzer/datashareserviceimpl_fuzzer.cpp @@ -176,6 +176,51 @@ void TimerReceiverOnReceiveEventFuzz(FuzzedDataProvider &provider) commonEventData.SetWant(want); tmerReceiver.OnReceiveEvent(commonEventData); } + +void OnUserChangeFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr dataShareServiceImpl = std::make_shared(); + uint32_t code = provider.ConsumeIntegralInRange(0, 10); + std::string user = provider.ConsumeRandomLengthString(); + std::string account = provider.ConsumeRandomLengthString(); + dataShareServiceImpl->OnUserChange(code, user, account); +} + +void DataShareStaticOnAppUninstall(FuzzedDataProvider &provider) +{ + DataShareServiceImpl::DataShareStatic dataShareStatic; + std::string bundleName = provider.ConsumeRandomLengthString(); + int32_t user = provider.ConsumeIntegral(); + int32_t index = provider.ConsumeIntegral(); + dataShareStatic.OnAppUninstall(bundleName, user, index); +} + +void AllowCleanDataLaunchAppFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr dataShareServiceImpl = std::make_shared(); + int32_t evtId = provider.ConsumeIntegral(); + DistributedData::RemoteChangeEvent::DataInfo dataInfo; + dataInfo.userId = provider.ConsumeRandomLengthString(); + dataInfo.storeId = provider.ConsumeRandomLengthString(); + dataInfo.deviceId = provider.ConsumeRandomLengthString(); + dataInfo.bundleName = provider.ConsumeRandomLengthString(); + DistributedData::RemoteChangeEvent event(evtId, std::move(dataInfo)); + bool launchForCleanData = provider.ConsumeBool(); + dataShareServiceImpl->AllowCleanDataLaunchApp(event, launchForCleanData); +} + +void AutoLaunchFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr dataShareServiceImpl = std::make_shared(); + int32_t evtId = provider.ConsumeIntegral(); + DistributedData::RemoteChangeEvent::DataInfo dataInfo; + dataInfo.userId = provider.ConsumeRandomLengthString(); + dataInfo.storeId = provider.ConsumeRandomLengthString(); + dataInfo.deviceId = provider.ConsumeRandomLengthString(); + dataInfo.bundleName = provider.ConsumeRandomLengthString(); + DistributedData::RemoteChangeEvent event(evtId, std::move(dataInfo)); + dataShareServiceImpl->AutoLaunch(event); +} } // namespace OHOS /* Fuzzer entry point */ @@ -197,5 +242,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) OHOS::DumpDataShareServiceInfoFuzz(provider); OHOS::DataShareStaticOnClearAppStorageFuzz(provider); OHOS::TimerReceiverOnReceiveEventFuzz(provider); + OHOS::OnUserChangeFuzz(provider); + OHOS::DataShareStaticOnAppUninstall(provider); + OHOS::AllowCleanDataLaunchAppFuzz(provider); + OHOS::AutoLaunchFuzz(provider); return 0; } \ No newline at end of file -- Gitee