From 6f6c2145a039a66391e608e313cd8c333a57707d Mon Sep 17 00:00:00 2001 From: zph Date: Wed, 25 Jun 2025 14:58:53 +0800 Subject: [PATCH 1/5] update Signed-off-by: zph --- .../test/fuzztest/udmfservice_fuzzer/BUILD.gn | 2 + .../udmfservice_fuzzer/udmfservice_fuzzer.cpp | 279 +++++++++++++++++- 2 files changed, 279 insertions(+), 2 deletions(-) diff --git a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/BUILD.gn b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/BUILD.gn index 4c71160b0..4753ce762 100644 --- a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/BUILD.gn +++ b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/BUILD.gn @@ -37,6 +37,8 @@ ohos_fuzztest("UdmfServiceFuzzTest") { "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", + "-Dprivate=public", + "-Dprotected=public", ] sources = [ "udmfservice_fuzzer.cpp" ] diff --git a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp index 36e912c65..ddfa5ffee 100644 --- a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp +++ b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp @@ -37,18 +37,20 @@ constexpr size_t NUM_MIN = 5; constexpr size_t NUM_MAX = 12; static constexpr int ID_LEN = 32; static constexpr int MINIMUM = 48; +static constexpr int MAXIMUM = 121; QueryOption GenerateFuzzQueryOption(FuzzedDataProvider &provider) { std::vector groupId(ID_LEN, '0'); for (size_t i = 0; i < groupId.size(); ++i) { - groupId[i] = provider.ConsumeIntegralInRange(MINIMUM, MINIMUM); + groupId[i] = provider.ConsumeIntegralInRange(MINIMUM, MAXIMUM); } std::string groupIdStr(groupId.begin(), groupId.end()); UnifiedKey udKey = UnifiedKey("drag", "com.test.demo", groupIdStr); QueryOption query = { .key = udKey.GetUnifiedKey(), - .intention = Intention::UD_INTENTION_DRAG + .intention = Intention::UD_INTENTION_DRAG, + .tokenId = provider.ConsumeIntegral() }; return query; } @@ -265,6 +267,262 @@ void ClearAsynProcessFuzz(FuzzedDataProvider &provider) udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::CLEAR_ASYN_PROCESS_BY_KEY), requestUpdate, replyUpdate); } + +void SetDelayInfoFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + std::shared_ptr executor = std::make_shared(NUM_MAX, NUM_MIN); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), std::move(executor) }); + MessageParcel requestUpdate; + requestUpdate.WriteInterfaceToken(INTERFACE_TOKEN); + DataLoadInfo dataLoadInfo; + dataLoadInfo.recordCount = provider.ConsumeIntegral(); + dataLoadInfo.types.emplace(provider.ConsumeRandomLengthString()); + dataLoadInfo.sequenceKey = provider.ConsumeRandomLengthString(); + ITypesUtil::Marshal(requestUpdate, dataLoadInfo); + sptr iUdmfNotifier = nullptr; + ITypesUtil::Marshal(requestUpdate, iUdmfNotifier); + MessageParcel replyUpdate; + udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::SET_DELAY_INFO), + requestUpdate, replyUpdate); +} + +void PushDelayDataFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + std::shared_ptr executor = std::make_shared(NUM_MAX, NUM_MIN); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), std::move(executor) }); + + MessageParcel requestUpdate; + requestUpdate.WriteInterfaceToken(INTERFACE_TOKEN); + std::string key = provider.ConsumeRandomLengthString(); + ITypesUtil::Marshal(requestUpdate, key); + UnifiedData data; + std::shared_ptr obj = std::make_shared(); + obj->value_[UNIFORM_DATA_TYPE] = "general.file-uri"; + obj->value_[FILE_URI_PARAM] = provider.ConsumeRandomLengthString(); + obj->value_[FILE_TYPE] = "abcdefg"; + auto record = std::make_shared(FILE_URI, obj); + data.AddRecord(record); + ITypesUtil::Marshal(requestUpdate, data); + + MessageParcel replyUpdate; + udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::SET_DELAY_DATA), + requestUpdate, replyUpdate); +} + +void GetDataIfAvailableFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + std::shared_ptr executor = std::make_shared(NUM_MAX, NUM_MIN); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), std::move(executor) }); + + MessageParcel requestUpdate; + requestUpdate.WriteInterfaceToken(INTERFACE_TOKEN); + std::string key = provider.ConsumeRandomLengthString(); + ITypesUtil::Marshal(requestUpdate, key); + DataLoadInfo dataLoadInfo; + dataLoadInfo.recordCount = provider.ConsumeIntegral(); + dataLoadInfo.types.emplace(provider.ConsumeRandomLengthString()); + dataLoadInfo.sequenceKey = provider.ConsumeRandomLengthString(); + ITypesUtil::Marshal(requestUpdate, dataLoadInfo); + sptr iUdmfNotifier = nullptr; + ITypesUtil::Marshal(requestUpdate, iUdmfNotifier); + + MessageParcel replyUpdate; + udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::GET_DELAY_DATA), + requestUpdate, replyUpdate); +} + +void OnGetAppShareOptionFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + std::shared_ptr executor = std::make_shared(NUM_MAX, NUM_MIN); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), std::move(executor) }); + + MessageParcel requestUpdate; + requestUpdate.WriteInterfaceToken(INTERFACE_TOKEN); + CustomOption option = {.intention = Intention::UD_INTENTION_DRAG}; + std::string intention = UD_INTENTION_MAP.at(option.intention); + ITypesUtil::Marshal(requestUpdate, intention); + + MessageParcel replyUpdate; + udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::GET_APP_SHARE_OPTION), + requestUpdate, replyUpdate); +} + +void CheckDragParamsFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + std::string intention = provider.ConsumeRandomLengthString(); + std::string bundleName = provider.ConsumeRandomLengthString(); + std::vector groupId(ID_LEN, '0'); + for (size_t i = 0; i < groupId.size(); ++i) { + groupId[i] = provider.ConsumeIntegralInRange(MINIMUM, MAXIMUM); + } + std::string groupIdStr(groupId.begin(), groupId.end()); + UnifiedKey udKey(intention, bundleName, groupIdStr); + QueryOption query; + udmfServiceImpl->CheckDragParams(udKey, query); +} + +void IsPermissionInCacheFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + QueryOption query = GenerateFuzzQueryOption(provider); + udmfServiceImpl->IsPermissionInCache(query); +} + +void IsReadAndKeepFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + Privilege privilege = { + .tokenId = provider.ConsumeIntegral(), + .readPermission = "read", + .writePermission = "write" + }; + Privilege privilege2 = { + .tokenId = provider.ConsumeIntegral(), + .readPermission = "readAndKeep", + .writePermission = "write" + }; + std::vector privileges = { privilege, privilege2 }; + QueryOption query = GenerateFuzzQueryOption(provider); + udmfServiceImpl->IsReadAndKeep(privileges, query); +} + +void ProcessUriFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + QueryOption query = GenerateFuzzQueryOption(provider); + UnifiedData data; + std::shared_ptr obj = std::make_shared(); + obj->value_[UNIFORM_DATA_TYPE] = "general.file-uri"; + obj->value_[FILE_URI_PARAM] = provider.ConsumeRandomLengthString(); + obj->value_[FILE_TYPE] = "abcdefg"; + auto record = std::make_shared(FILE_URI, obj); + data.AddRecord(record); + udmfServiceImpl->ProcessUri(query, data); +} + +void ProcessCrossDeviceDataFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + uint32_t tokenId = provider.ConsumeIntegral(); + UnifiedData data; + std::shared_ptr obj = std::make_shared(); + obj->value_[UNIFORM_DATA_TYPE] = "general.file-uri"; + obj->value_[FILE_URI_PARAM] = provider.ConsumeRandomLengthString(); + obj->value_[FILE_TYPE] = "abcdefg"; + auto record = std::make_shared(FILE_URI, obj); + data.AddRecord(record); + std::vector uris; + udmfServiceImpl->ProcessCrossDeviceData(tokenId, data, uris); +} + +void ResolveAutoLaunchFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + std::shared_ptr executor = std::make_shared(NUM_MAX, NUM_MIN); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), std::move(executor) }); + auto identifier = provider.ConsumeRandomLengthString(); + UdmfServiceImpl::DBLaunchParam param; + param.userId = provider.ConsumeRandomLengthString(); + param.appId = provider.ConsumeRandomLengthString(); + param.storeId = provider.ConsumeRandomLengthString(); + param.path = provider.ConsumeRandomLengthString(); + udmfServiceImpl->ResolveAutoLaunch(identifier, param); +} + +void HasDatahubPriviledgeFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + auto bundleName = provider.ConsumeRandomLengthString(); + udmfServiceImpl->HasDatahubPriviledge(bundleName); +} + +void OnUserChangeFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + uint32_t code = provider.ConsumeIntegral(); + auto user = provider.ConsumeRandomLengthString(); + auto account = provider.ConsumeRandomLengthString(); + udmfServiceImpl->OnUserChange(code, user, account); +} + +void IsNeedTransferDeviceTypeFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + QueryOption query = GenerateFuzzQueryOption(provider); + udmfServiceImpl->IsNeedTransferDeviceType(query); +} + +void CheckAddPrivilegePermissionFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + std::string intention = provider.ConsumeRandomLengthString(); + std::string bundleName = provider.ConsumeRandomLengthString(); + std::vector groupId(ID_LEN, '0'); + for (size_t i = 0; i < groupId.size(); ++i) { + groupId[i] = provider.ConsumeIntegralInRange(MINIMUM, MAXIMUM); + } + std::string groupIdStr(groupId.begin(), groupId.end()); + UnifiedKey udKey(intention, bundleName, groupIdStr); + std::string processName = provider.ConsumeRandomLengthString(); + QueryOption query = GenerateFuzzQueryOption(provider); + udmfServiceImpl->CheckAddPrivilegePermission(udKey, processName, query); +} + +void ProcessDataFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + QueryOption query = GenerateFuzzQueryOption(provider); + UnifiedData data; + std::shared_ptr obj = std::make_shared(); + obj->value_[UNIFORM_DATA_TYPE] = "general.file-uri"; + obj->value_[FILE_URI_PARAM] = provider.ConsumeRandomLengthString(); + obj->value_[FILE_TYPE] = "abcdefg"; + auto record = std::make_shared(FILE_URI, obj); + data.AddRecord(record); + std::vector dataSet = { data }; + udmfServiceImpl->ProcessData(query, dataSet); +} + +void VerifyIntentionPermissionFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + std::shared_ptr executor = std::make_shared(NUM_MAX, NUM_MIN); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), std::move(executor) }); + QueryOption query = GenerateFuzzQueryOption(provider); + UnifiedData data; + std::string intention = provider.ConsumeRandomLengthString(); + std::string bundleName = provider.ConsumeRandomLengthString(); + std::vector groupId(ID_LEN); + for (size_t i = 0; i < groupId.size(); ++i) { + groupId[i] = provider.ConsumeIntegralInRange(MINIMUM, MAXIMUM); + } + std::string groupIdStr(groupId.begin(), groupId.end()); + UnifiedKey udKey(intention, bundleName, groupIdStr); + CheckerManager::CheckInfo info; + info.tokenId = provider.ConsumeIntegral(); + udmfServiceImpl->VerifyIntentionPermission(query, data, udKey, info); + Runtime runtime; + data.SetRuntime(runtime); + udmfServiceImpl->VerifyIntentionPermission(query, data, udKey, info); +} + +void IsFileMangerIntentionFuzz(FuzzedDataProvider &provider) +{ + std::shared_ptr udmfServiceImpl = std::make_shared(); + auto intention = provider.ConsumeRandomLengthString(); + udmfServiceImpl->IsFileMangerIntention(intention); +} } /* Fuzzer entry point */ @@ -296,5 +554,22 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) OHOS::ObtainAsynProcessFuzz(provider); OHOS::ClearAsynProcessFuzz(provider); + OHOS::SetDelayInfoFuzz(provider); + OHOS::PushDelayDataFuzz(provider); + OHOS::GetDataIfAvailableFuzz(provider); + OHOS::OnGetAppShareOptionFuzz(provider); + OHOS::CheckDragParamsFuzz(provider); + OHOS::IsPermissionInCacheFuzz(provider); + OHOS::IsReadAndKeepFuzz(provider); + OHOS::ProcessUriFuzz(provider); + OHOS::ProcessCrossDeviceDataFuzz(provider); + OHOS::ResolveAutoLaunchFuzz(provider); + OHOS::HasDatahubPriviledgeFuzz(provider); + OHOS::OnUserChangeFuzz(provider); + OHOS::IsNeedTransferDeviceTypeFuzz(provider); + OHOS::CheckAddPrivilegePermissionFuzz(provider); + OHOS::ProcessDataFuzz(provider); + OHOS::VerifyIntentionPermissionFuzz(provider); + OHOS::IsFileMangerIntentionFuzz(provider); return 0; } \ No newline at end of file -- Gitee From 34fcd45454626cb5d8d2461089793e37fc4d3eb1 Mon Sep 17 00:00:00 2001 From: zph Date: Fri, 27 Jun 2025 18:17:29 +0800 Subject: [PATCH 2/5] update Signed-off-by: zph --- .../udmfservice_fuzzer/udmfservice_fuzzer.cpp | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp index ddfa5ffee..39d402600 100644 --- a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp +++ b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp @@ -47,11 +47,10 @@ QueryOption GenerateFuzzQueryOption(FuzzedDataProvider &provider) } std::string groupIdStr(groupId.begin(), groupId.end()); UnifiedKey udKey = UnifiedKey("drag", "com.test.demo", groupIdStr); - QueryOption query = { - .key = udKey.GetUnifiedKey(), - .intention = Intention::UD_INTENTION_DRAG, - .tokenId = provider.ConsumeIntegral() - }; + QueryOption query; + query.key = udKey.GetUnifiedKey(), + query.intention = Intention::UD_INTENTION_DRAG, + query.tokenId = provider.ConsumeIntegral() return query; } @@ -86,7 +85,7 @@ void SetDataFuzz(FuzzedDataProvider &provider) std::shared_ptr obj = std::make_shared(); obj->value_[UNIFORM_DATA_TYPE] = "general.file-uri"; obj->value_[FILE_URI_PARAM] = svalue; - obj->value_[FILE_TYPE] = "abcdefg"; + obj->value_[FILE_TYPE] = provider.ConsumeRandomLengthString(); auto record = std::make_shared(FILE_URI, obj); data1.AddRecord(record); MessageParcel request; @@ -136,7 +135,7 @@ void UpdateDataFuzz(FuzzedDataProvider &provider) std::shared_ptr obj = std::make_shared(); obj->value_[UNIFORM_DATA_TYPE] = "general.file-uri"; obj->value_[FILE_URI_PARAM] = svalue; - obj->value_[FILE_TYPE] = "abcdefg"; + obj->value_[FILE_TYPE] = provider.ConsumeRandomLengthString(); auto record = std::make_shared(FILE_URI, obj); data1.AddRecord(record); MessageParcel request; @@ -303,7 +302,7 @@ void PushDelayDataFuzz(FuzzedDataProvider &provider) std::shared_ptr obj = std::make_shared(); obj->value_[UNIFORM_DATA_TYPE] = "general.file-uri"; obj->value_[FILE_URI_PARAM] = provider.ConsumeRandomLengthString(); - obj->value_[FILE_TYPE] = "abcdefg"; + obj->value_[FILE_TYPE] = provider.ConsumeRandomLengthString(); auto record = std::make_shared(FILE_URI, obj); data.AddRecord(record); ITypesUtil::Marshal(requestUpdate, data); @@ -403,7 +402,7 @@ void ProcessUriFuzz(FuzzedDataProvider &provider) std::shared_ptr obj = std::make_shared(); obj->value_[UNIFORM_DATA_TYPE] = "general.file-uri"; obj->value_[FILE_URI_PARAM] = provider.ConsumeRandomLengthString(); - obj->value_[FILE_TYPE] = "abcdefg"; + obj->value_[FILE_TYPE] = provider.ConsumeRandomLengthString(); auto record = std::make_shared(FILE_URI, obj); data.AddRecord(record); udmfServiceImpl->ProcessUri(query, data); @@ -417,7 +416,7 @@ void ProcessCrossDeviceDataFuzz(FuzzedDataProvider &provider) std::shared_ptr obj = std::make_shared(); obj->value_[UNIFORM_DATA_TYPE] = "general.file-uri"; obj->value_[FILE_URI_PARAM] = provider.ConsumeRandomLengthString(); - obj->value_[FILE_TYPE] = "abcdefg"; + obj->value_[FILE_TYPE] = provider.ConsumeRandomLengthString(); auto record = std::make_shared(FILE_URI, obj); data.AddRecord(record); std::vector uris; @@ -486,7 +485,7 @@ void ProcessDataFuzz(FuzzedDataProvider &provider) std::shared_ptr obj = std::make_shared(); obj->value_[UNIFORM_DATA_TYPE] = "general.file-uri"; obj->value_[FILE_URI_PARAM] = provider.ConsumeRandomLengthString(); - obj->value_[FILE_TYPE] = "abcdefg"; + obj->value_[FILE_TYPE] = provider.ConsumeRandomLengthString(); auto record = std::make_shared(FILE_URI, obj); data.AddRecord(record); std::vector dataSet = { data }; -- Gitee From ad6fb34b953b4f9d02d892ec8a86fe70b8aff750 Mon Sep 17 00:00:00 2001 From: zph Date: Fri, 27 Jun 2025 19:32:47 +0800 Subject: [PATCH 3/5] update Signed-off-by: zph --- .../test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp index 39d402600..e699ed725 100644 --- a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp +++ b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp @@ -48,9 +48,9 @@ QueryOption GenerateFuzzQueryOption(FuzzedDataProvider &provider) std::string groupIdStr(groupId.begin(), groupId.end()); UnifiedKey udKey = UnifiedKey("drag", "com.test.demo", groupIdStr); QueryOption query; - query.key = udKey.GetUnifiedKey(), - query.intention = Intention::UD_INTENTION_DRAG, - query.tokenId = provider.ConsumeIntegral() + query.key = udKey.GetUnifiedKey(); + query.intention = Intention::UD_INTENTION_DRAG; + query.tokenId = provider.ConsumeIntegral(); return query; } -- Gitee From 0e343124f61eb0ad76f2f8ae083f7510b0d4b75d Mon Sep 17 00:00:00 2001 From: zph Date: Sat, 28 Jun 2025 17:31:40 +0800 Subject: [PATCH 4/5] update Signed-off-by: zph --- .../test/fuzztest/udmfservice_fuzzer/BUILD.gn | 3 +- .../udmfservice_fuzzer/udmfservice_fuzzer.cpp | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/BUILD.gn b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/BUILD.gn index 4753ce762..398162fcc 100644 --- a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/BUILD.gn +++ b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/BUILD.gn @@ -37,8 +37,7 @@ ohos_fuzztest("UdmfServiceFuzzTest") { "-O0", "-Wno-unused-variable", "-fno-omit-frame-pointer", - "-Dprivate=public", - "-Dprotected=public", + "-fno-access-control" ] sources = [ "udmfservice_fuzzer.cpp" ] diff --git a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp index e699ed725..536e69210 100644 --- a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp +++ b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp @@ -69,6 +69,8 @@ bool OnRemoteRequestFuzz(FuzzedDataProvider &provider) request.RewindRead(0); MessageParcel reply; udmfServiceImpl->OnRemoteRequest(code, request, reply); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); return true; } @@ -93,6 +95,8 @@ void SetDataFuzz(FuzzedDataProvider &provider) ITypesUtil::Marshal(request, option1, data1); MessageParcel reply; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::SET_DATA), request, reply); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void GetDataFuzz(FuzzedDataProvider &provider) @@ -107,6 +111,8 @@ void GetDataFuzz(FuzzedDataProvider &provider) ITypesUtil::Marshal(request, query); MessageParcel reply; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::GET_DATA), request, reply); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void GetBatchDataFuzz(FuzzedDataProvider &provider) @@ -121,6 +127,8 @@ void GetBatchDataFuzz(FuzzedDataProvider &provider) ITypesUtil::Marshal(request, query); MessageParcel reply; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::GET_BATCH_DATA), request, reply); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void UpdateDataFuzz(FuzzedDataProvider &provider) @@ -143,6 +151,8 @@ void UpdateDataFuzz(FuzzedDataProvider &provider) ITypesUtil::Marshal(request, query, data1); MessageParcel reply; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::UPDATE_DATA), request, reply); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void DeleteDataFuzz(FuzzedDataProvider &provider) @@ -157,6 +167,8 @@ void DeleteDataFuzz(FuzzedDataProvider &provider) ITypesUtil::Marshal(request, query); MessageParcel reply; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::DELETE_DATA), request, reply); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void GetSummaryFuzz(FuzzedDataProvider &provider) @@ -171,6 +183,8 @@ void GetSummaryFuzz(FuzzedDataProvider &provider) ITypesUtil::Marshal(request, query); MessageParcel reply; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::GET_SUMMARY), request, reply); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void AddPrivilegeDataFuzz(FuzzedDataProvider &provider) @@ -193,6 +207,8 @@ void AddPrivilegeDataFuzz(FuzzedDataProvider &provider) MessageParcel replyUpdate; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::ADD_PRIVILEGE), request, replyUpdate); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void SyncDataFuzz(FuzzedDataProvider &provider) @@ -209,6 +225,8 @@ void SyncDataFuzz(FuzzedDataProvider &provider) MessageParcel replyUpdate; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::SYNC), requestUpdate, replyUpdate); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void IsRemoteDataFuzz(FuzzedDataProvider &provider) @@ -224,6 +242,8 @@ void IsRemoteDataFuzz(FuzzedDataProvider &provider) MessageParcel replyUpdate; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::IS_REMOTE_DATA), requestUpdate, replyUpdate); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void ObtainAsynProcessFuzz(FuzzedDataProvider &provider) @@ -246,6 +266,8 @@ void ObtainAsynProcessFuzz(FuzzedDataProvider &provider) MessageParcel replyUpdate; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::OBTAIN_ASYN_PROCESS), requestUpdate, replyUpdate); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void ClearAsynProcessFuzz(FuzzedDataProvider &provider) @@ -265,6 +287,8 @@ void ClearAsynProcessFuzz(FuzzedDataProvider &provider) MessageParcel replyUpdate; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::CLEAR_ASYN_PROCESS_BY_KEY), requestUpdate, replyUpdate); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void SetDelayInfoFuzz(FuzzedDataProvider &provider) @@ -285,6 +309,8 @@ void SetDelayInfoFuzz(FuzzedDataProvider &provider) MessageParcel replyUpdate; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::SET_DELAY_INFO), requestUpdate, replyUpdate); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void PushDelayDataFuzz(FuzzedDataProvider &provider) @@ -310,6 +336,8 @@ void PushDelayDataFuzz(FuzzedDataProvider &provider) MessageParcel replyUpdate; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::SET_DELAY_DATA), requestUpdate, replyUpdate); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void GetDataIfAvailableFuzz(FuzzedDataProvider &provider) @@ -334,6 +362,8 @@ void GetDataIfAvailableFuzz(FuzzedDataProvider &provider) MessageParcel replyUpdate; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::GET_DELAY_DATA), requestUpdate, replyUpdate); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void OnGetAppShareOptionFuzz(FuzzedDataProvider &provider) @@ -352,6 +382,8 @@ void OnGetAppShareOptionFuzz(FuzzedDataProvider &provider) MessageParcel replyUpdate; udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::GET_APP_SHARE_OPTION), requestUpdate, replyUpdate); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void CheckDragParamsFuzz(FuzzedDataProvider &provider) @@ -436,6 +468,8 @@ void ResolveAutoLaunchFuzz(FuzzedDataProvider &provider) param.storeId = provider.ConsumeRandomLengthString(); param.path = provider.ConsumeRandomLengthString(); udmfServiceImpl->ResolveAutoLaunch(identifier, param); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void HasDatahubPriviledgeFuzz(FuzzedDataProvider &provider) @@ -514,6 +548,8 @@ void VerifyIntentionPermissionFuzz(FuzzedDataProvider &provider) Runtime runtime; data.SetRuntime(runtime); udmfServiceImpl->VerifyIntentionPermission(query, data, udKey, info); + udmfServiceImpl->OnBind( + { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); } void IsFileMangerIntentionFuzz(FuzzedDataProvider &provider) -- Gitee From 0b372603479dfbf29f03c1bbb800441da50d1f10 Mon Sep 17 00:00:00 2001 From: zph Date: Sat, 28 Jun 2025 18:18:27 +0800 Subject: [PATCH 5/5] update Signed-off-by: zph --- .../udmfservice_fuzzer/udmfservice_fuzzer.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp index 536e69210..5c5ba4024 100644 --- a/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp +++ b/services/distributeddataservice/service/test/fuzztest/udmfservice_fuzzer/udmfservice_fuzzer.cpp @@ -71,6 +71,7 @@ bool OnRemoteRequestFuzz(FuzzedDataProvider &provider) udmfServiceImpl->OnRemoteRequest(code, request, reply); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; return true; } @@ -97,6 +98,7 @@ void SetDataFuzz(FuzzedDataProvider &provider) udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::SET_DATA), request, reply); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void GetDataFuzz(FuzzedDataProvider &provider) @@ -113,6 +115,7 @@ void GetDataFuzz(FuzzedDataProvider &provider) udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::GET_DATA), request, reply); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void GetBatchDataFuzz(FuzzedDataProvider &provider) @@ -129,6 +132,7 @@ void GetBatchDataFuzz(FuzzedDataProvider &provider) udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::GET_BATCH_DATA), request, reply); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void UpdateDataFuzz(FuzzedDataProvider &provider) @@ -153,6 +157,7 @@ void UpdateDataFuzz(FuzzedDataProvider &provider) udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::UPDATE_DATA), request, reply); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void DeleteDataFuzz(FuzzedDataProvider &provider) @@ -169,6 +174,7 @@ void DeleteDataFuzz(FuzzedDataProvider &provider) udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::DELETE_DATA), request, reply); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void GetSummaryFuzz(FuzzedDataProvider &provider) @@ -185,6 +191,7 @@ void GetSummaryFuzz(FuzzedDataProvider &provider) udmfServiceImpl->OnRemoteRequest(static_cast(UdmfServiceInterfaceCode::GET_SUMMARY), request, reply); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void AddPrivilegeDataFuzz(FuzzedDataProvider &provider) @@ -209,6 +216,7 @@ void AddPrivilegeDataFuzz(FuzzedDataProvider &provider) request, replyUpdate); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void SyncDataFuzz(FuzzedDataProvider &provider) @@ -227,6 +235,7 @@ void SyncDataFuzz(FuzzedDataProvider &provider) requestUpdate, replyUpdate); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void IsRemoteDataFuzz(FuzzedDataProvider &provider) @@ -244,6 +253,7 @@ void IsRemoteDataFuzz(FuzzedDataProvider &provider) requestUpdate, replyUpdate); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void ObtainAsynProcessFuzz(FuzzedDataProvider &provider) @@ -268,6 +278,7 @@ void ObtainAsynProcessFuzz(FuzzedDataProvider &provider) requestUpdate, replyUpdate); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void ClearAsynProcessFuzz(FuzzedDataProvider &provider) @@ -289,6 +300,7 @@ void ClearAsynProcessFuzz(FuzzedDataProvider &provider) requestUpdate, replyUpdate); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void SetDelayInfoFuzz(FuzzedDataProvider &provider) @@ -311,6 +323,7 @@ void SetDelayInfoFuzz(FuzzedDataProvider &provider) requestUpdate, replyUpdate); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void PushDelayDataFuzz(FuzzedDataProvider &provider) @@ -338,6 +351,7 @@ void PushDelayDataFuzz(FuzzedDataProvider &provider) requestUpdate, replyUpdate); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void GetDataIfAvailableFuzz(FuzzedDataProvider &provider) @@ -364,6 +378,7 @@ void GetDataIfAvailableFuzz(FuzzedDataProvider &provider) requestUpdate, replyUpdate); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void OnGetAppShareOptionFuzz(FuzzedDataProvider &provider) @@ -384,6 +399,7 @@ void OnGetAppShareOptionFuzz(FuzzedDataProvider &provider) requestUpdate, replyUpdate); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void CheckDragParamsFuzz(FuzzedDataProvider &provider) @@ -470,6 +486,7 @@ void ResolveAutoLaunchFuzz(FuzzedDataProvider &provider) udmfServiceImpl->ResolveAutoLaunch(identifier, param); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void HasDatahubPriviledgeFuzz(FuzzedDataProvider &provider) @@ -550,6 +567,7 @@ void VerifyIntentionPermissionFuzz(FuzzedDataProvider &provider) udmfServiceImpl->VerifyIntentionPermission(query, data, udKey, info); udmfServiceImpl->OnBind( { "UdmfServiceStubFuzz", static_cast(IPCSkeleton::GetSelfTokenID()), nullptr }); + executor = nullptr; } void IsFileMangerIntentionFuzz(FuzzedDataProvider &provider) -- Gitee