From 9da97b1ffb517b72b9d1b9caf57c97e783cfbcea Mon Sep 17 00:00:00 2001 From: liuxiaowei42 Date: Sat, 28 Jun 2025 14:29:32 +0800 Subject: [PATCH 1/3] modify FUZZ Signed-off-by: liuxiaowei42 --- .../distributedhardwarefwkkit_fuzzer.cpp | 10 +++++++--- .../getdhdescriptorscallbackstub_fuzzer.cpp | 2 +- .../accessmanager_fuzzer/accessmanager_fuzzer.cpp | 10 ++++++++++ .../capabilityinfomanager_fuzzer.cpp | 6 +++++- .../fuzztest/dhcommtool_fuzzer/dhcommtool_fuzzer.cpp | 8 ++++++++ .../fuzztest/dhtransport_fuzzer/dhtransport_fuzzer.cpp | 4 ++++ 6 files changed, 35 insertions(+), 5 deletions(-) diff --git a/interfaces/inner_kits/test/fuzztest/distributedhardwarefwkkit_fuzzer/distributedhardwarefwkkit_fuzzer.cpp b/interfaces/inner_kits/test/fuzztest/distributedhardwarefwkkit_fuzzer/distributedhardwarefwkkit_fuzzer.cpp index ba39bd28..f1cd3d13 100644 --- a/interfaces/inner_kits/test/fuzztest/distributedhardwarefwkkit_fuzzer/distributedhardwarefwkkit_fuzzer.cpp +++ b/interfaces/inner_kits/test/fuzztest/distributedhardwarefwkkit_fuzzer/distributedhardwarefwkkit_fuzzer.cpp @@ -360,7 +360,7 @@ void OnDHFWKOnLineFuzzTest(const uint8_t *data, size_t size) void QueryLocalSysSpecFuzzTest(const uint8_t *data, size_t size) { - if ((data == nullptr) || (size == 0)) { + if ((data == nullptr) || (size < sizeof(uint32_t))) { return; } @@ -376,6 +376,8 @@ void RegisterDHStatusListenerOneParamFuzzTest(const uint8_t *data, size_t size) return; } + (void)data; + (void)size; DistributedHardwareFwkKit dhfwkKit; sptr listener(new TestHDSinkStatusListener()); dhfwkKit.RegisterDHStatusListener(listener); @@ -387,6 +389,8 @@ void UnregisterDHStatusListenerOneParamFuzzTest(const uint8_t *data, size_t size return; } + (void)data; + (void)size; DistributedHardwareFwkKit dhfwkKit; sptr listener(new TestHDSinkStatusListener()); dhfwkKit.UnregisterDHStatusListener(listener); @@ -394,7 +398,7 @@ void UnregisterDHStatusListenerOneParamFuzzTest(const uint8_t *data, size_t size void IsQueryLocalSysSpecTypeValidFuzzTest(const uint8_t *data, size_t size) { - if ((data == nullptr) || (size == 0)) { + if ((data == nullptr) || (size < sizeof(uint32_t))) { return; } @@ -405,7 +409,7 @@ void IsQueryLocalSysSpecTypeValidFuzzTest(const uint8_t *data, size_t size) void RegisterCtlCenterCallbackFuzzTest(const uint8_t *data, size_t size) { - if ((data == nullptr) || (size == 0)) { + if ((data == nullptr) || (size < sizeof(uint32_t))) { return; } diff --git a/interfaces/inner_kits/test/fuzztest/getdhdescriptorscallbackstub_fuzzer/getdhdescriptorscallbackstub_fuzzer.cpp b/interfaces/inner_kits/test/fuzztest/getdhdescriptorscallbackstub_fuzzer/getdhdescriptorscallbackstub_fuzzer.cpp index 642eef5e..b1d849f0 100644 --- a/interfaces/inner_kits/test/fuzztest/getdhdescriptorscallbackstub_fuzzer/getdhdescriptorscallbackstub_fuzzer.cpp +++ b/interfaces/inner_kits/test/fuzztest/getdhdescriptorscallbackstub_fuzzer/getdhdescriptorscallbackstub_fuzzer.cpp @@ -48,7 +48,7 @@ void FuzzGetDhDescriptorsCallbackStub::OnError(const std::string &networkId, int void OnRemoteRequestFuzzTest(const uint8_t *data, size_t size) { - if ((data == nullptr) || (size < sizeof(uint32_t))) { + if ((data == nullptr) || (size < sizeof(uint32_t) + sizeof(uint32_t) + 1)) { return; } MessageParcel parcel; diff --git a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp index 339cc163..6c92714f 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp @@ -90,6 +90,8 @@ void UnInitFuzzTest(const uint8_t* data, size_t size) return; } + (void)data; + (void)size; AccessManager::GetInstance()->UnInit(); usleep(SLEEP_TIME_US); } @@ -100,6 +102,8 @@ void UnInitDeviceManagerFuzzTest(const uint8_t* data, size_t size) return; } + (void)data; + (void)size; AccessManager::GetInstance()->UnInitDeviceManager(); usleep(SLEEP_TIME_US); } @@ -110,6 +114,8 @@ void UnRegisterDevStateCallbackFuzzTest(const uint8_t* data, size_t size) return; } + (void)data; + (void)size; AccessManager::GetInstance()->UnRegisterDevStateCallback(); usleep(SLEEP_TIME_US); } @@ -120,6 +126,8 @@ void OnRemoteDiedFuzzTest(const uint8_t* data, size_t size) return; } + (void)data; + (void)size; AccessManager::GetInstance()->OnRemoteDied(); usleep(SLEEP_TIME_US); } @@ -130,6 +138,8 @@ void CheckTrustedDeviceOnlineFuzzTest(const uint8_t* data, size_t size) return; } + (void)data; + (void)size; AccessManager::GetInstance()->CheckTrustedDeviceOnline(); usleep(SLEEP_TIME_US); } diff --git a/services/distributedhardwarefwkservice/test/fuzztest/capabilityinfomanager_fuzzer/capabilityinfomanager_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/capabilityinfomanager_fuzzer/capabilityinfomanager_fuzzer.cpp index 4469aea1..13ffad13 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/capabilityinfomanager_fuzzer/capabilityinfomanager_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/capabilityinfomanager_fuzzer/capabilityinfomanager_fuzzer.cpp @@ -337,6 +337,8 @@ void GetEventHandlerFuzzTest(const uint8_t* data, size_t size) return; } + (void)data; + (void)size; CapabilityInfoManager::GetInstance()->GetEventHandler(); } @@ -369,7 +371,9 @@ void GetDataByDHTypeFuzzTest(const uint8_t* data, size_t size) return; } - DHType dhType = static_cast(data[0]); + (void)data; + (void)size; + DHType dhType = DHType::AUDIO; std::map> capabilityMap; CapabilityInfoManager::GetInstance()->GetDataByDHType(dhType, capabilityMap); } diff --git a/services/distributedhardwarefwkservice/test/fuzztest/dhcommtool_fuzzer/dhcommtool_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/dhcommtool_fuzzer/dhcommtool_fuzzer.cpp index ee4a5112..07acd118 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/dhcommtool_fuzzer/dhcommtool_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/dhcommtool_fuzzer/dhcommtool_fuzzer.cpp @@ -74,6 +74,8 @@ void DhTransportInitFuzzTest(const uint8_t* data, size_t size) if ((data == nullptr) || (size == 0)) { return; } + (void)data; + (void)size; std::shared_ptr dhCommTool = std::make_shared(); dhCommTool->Init(); } @@ -83,6 +85,8 @@ void DhTransportUnInitFuzzTest(const uint8_t* data, size_t size) if ((data == nullptr) || (size == 0)) { return; } + (void)data; + (void)size; std::shared_ptr dhCommTool = std::make_shared(); dhCommTool->UnInit(); } @@ -92,6 +96,8 @@ void DHCommToolEventHandlerCtorFuzzTest(const uint8_t* data, size_t size) if ((data == nullptr) || (size == 0)) { return; } + (void)data; + (void)size; auto runner = AppExecFwk::EventRunner::Create(true); std::shared_ptr commToolPtr; DHCommTool::DHCommToolEventHandler handler(runner, commToolPtr); @@ -119,6 +125,8 @@ void DHCommToolEventHandlerProcessFullCapsRspFuzzTest(const uint8_t* data, size_ if ((data == nullptr) || (size == 0)) { return; } + (void)data; + (void)size; auto runner = AppExecFwk::EventRunner::Create(true); auto commTool = std::make_shared(); DHCommTool::DHCommToolEventHandler handler(runner, commTool); diff --git a/services/distributedhardwarefwkservice/test/fuzztest/dhtransport_fuzzer/dhtransport_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/dhtransport_fuzzer/dhtransport_fuzzer.cpp index 8c1329d6..1c623aa5 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/dhtransport_fuzzer/dhtransport_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/dhtransport_fuzzer/dhtransport_fuzzer.cpp @@ -206,6 +206,8 @@ void DhTransportInitFuzzTest(const uint8_t* data, size_t size) if ((data == nullptr) || (size < sizeof(int32_t))) { return; } + (void)data; + (void)size; std::shared_ptr dhCommTool = std::make_shared(); std::shared_ptr dhTransportTest = std::make_shared(dhCommTool); dhTransportTest->Init(); @@ -226,6 +228,8 @@ void DhTransportGetDHCommToolPtrFuzzTest(const uint8_t* data, size_t size) if ((data == nullptr) || (size < sizeof(int32_t))) { return; } + (void)data; + (void)size; auto ptr = GetDHCommToolPtr(); } } -- Gitee From 675d346bf3d97eb9b826fc7dfb72420a2addfde9 Mon Sep 17 00:00:00 2001 From: liuxiaowei42 Date: Sat, 28 Jun 2025 17:00:35 +0800 Subject: [PATCH 2/3] modify FUZZ Signed-off-by: liuxiaowei42 --- .../distributedhardwarefwkkit_fuzzer.cpp | 10 +------- .../accessmanager_fuzzer.cpp | 24 ++----------------- .../capabilityinfomanager_fuzzer.cpp | 8 ------- .../dhcommtool_fuzzer/dhcommtool_fuzzer.cpp | 12 ---------- .../dhtransport_fuzzer/dhtransport_fuzzer.cpp | 6 ----- 5 files changed, 3 insertions(+), 57 deletions(-) diff --git a/interfaces/inner_kits/test/fuzztest/distributedhardwarefwkkit_fuzzer/distributedhardwarefwkkit_fuzzer.cpp b/interfaces/inner_kits/test/fuzztest/distributedhardwarefwkkit_fuzzer/distributedhardwarefwkkit_fuzzer.cpp index f1cd3d13..8dffe745 100644 --- a/interfaces/inner_kits/test/fuzztest/distributedhardwarefwkkit_fuzzer/distributedhardwarefwkkit_fuzzer.cpp +++ b/interfaces/inner_kits/test/fuzztest/distributedhardwarefwkkit_fuzzer/distributedhardwarefwkkit_fuzzer.cpp @@ -372,10 +372,6 @@ void QueryLocalSysSpecFuzzTest(const uint8_t *data, size_t size) void RegisterDHStatusListenerOneParamFuzzTest(const uint8_t *data, size_t size) { - if ((data == nullptr) || (size == 0)) { - return; - } - (void)data; (void)size; DistributedHardwareFwkKit dhfwkKit; @@ -385,10 +381,6 @@ void RegisterDHStatusListenerOneParamFuzzTest(const uint8_t *data, size_t size) void UnregisterDHStatusListenerOneParamFuzzTest(const uint8_t *data, size_t size) { - if ((data == nullptr) || (size == 0)) { - return; - } - (void)data; (void)size; DistributedHardwareFwkKit dhfwkKit; @@ -409,7 +401,7 @@ void IsQueryLocalSysSpecTypeValidFuzzTest(const uint8_t *data, size_t size) void RegisterCtlCenterCallbackFuzzTest(const uint8_t *data, size_t size) { - if ((data == nullptr) || (size < sizeof(uint32_t))) { + if ((data == nullptr) || (size < sizeof(int32_t))) { return; } diff --git a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp index 6c92714f..964cfcba 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp @@ -86,10 +86,6 @@ void OnDeviceChangedFuzzTest(const uint8_t* data, size_t size) void UnInitFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size > DM_MAX_DEVICE_ID_LEN)) { - return; - } - (void)data; (void)size; AccessManager::GetInstance()->UnInit(); @@ -98,10 +94,6 @@ void UnInitFuzzTest(const uint8_t* data, size_t size) void UnInitDeviceManagerFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size > DM_MAX_DEVICE_ID_LEN)) { - return; - } - (void)data; (void)size; AccessManager::GetInstance()->UnInitDeviceManager(); @@ -110,10 +102,6 @@ void UnInitDeviceManagerFuzzTest(const uint8_t* data, size_t size) void UnRegisterDevStateCallbackFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size > DM_MAX_DEVICE_ID_LEN)) { - return; - } - (void)data; (void)size; AccessManager::GetInstance()->UnRegisterDevStateCallback(); @@ -122,10 +110,6 @@ void UnRegisterDevStateCallbackFuzzTest(const uint8_t* data, size_t size) void OnRemoteDiedFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size > DM_MAX_DEVICE_ID_LEN)) { - return; - } - (void)data; (void)size; AccessManager::GetInstance()->OnRemoteDied(); @@ -134,10 +118,6 @@ void OnRemoteDiedFuzzTest(const uint8_t* data, size_t size) void CheckTrustedDeviceOnlineFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size > DM_MAX_DEVICE_ID_LEN)) { - return; - } - (void)data; (void)size; AccessManager::GetInstance()->CheckTrustedDeviceOnline(); @@ -146,11 +126,11 @@ void CheckTrustedDeviceOnlineFuzzTest(const uint8_t* data, size_t size) void DumpFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size > DM_MAX_DEVICE_ID_LEN)) { + if ((data == nullptr) || (size > DM_MAX_DEVICE_ID_LEN) || (size == 0)) { return; } - std::vector argsStr = {reinterpret_cast(data)}; + std::vector argsStr; std::string result = {reinterpret_cast(data)}; AccessManager::GetInstance()->Dump(argsStr, result); usleep(SLEEP_TIME_US); diff --git a/services/distributedhardwarefwkservice/test/fuzztest/capabilityinfomanager_fuzzer/capabilityinfomanager_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/capabilityinfomanager_fuzzer/capabilityinfomanager_fuzzer.cpp index 13ffad13..eaf84fe0 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/capabilityinfomanager_fuzzer/capabilityinfomanager_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/capabilityinfomanager_fuzzer/capabilityinfomanager_fuzzer.cpp @@ -333,10 +333,6 @@ void CapabilityInfoManagerEventHandlerCtorFuzzTest(const uint8_t* data, size_t s void GetEventHandlerFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size == 0)) { - return; - } - (void)data; (void)size; CapabilityInfoManager::GetInstance()->GetEventHandler(); @@ -367,10 +363,6 @@ void OnChangeFuzzTest(const uint8_t* data, size_t size) void GetDataByDHTypeFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size == 0)) { - return; - } - (void)data; (void)size; DHType dhType = DHType::AUDIO; diff --git a/services/distributedhardwarefwkservice/test/fuzztest/dhcommtool_fuzzer/dhcommtool_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/dhcommtool_fuzzer/dhcommtool_fuzzer.cpp index 07acd118..30223b7a 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/dhcommtool_fuzzer/dhcommtool_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/dhcommtool_fuzzer/dhcommtool_fuzzer.cpp @@ -71,9 +71,6 @@ void DhTransportParseAndSaveRemoteDHCapsFuzzTest(const uint8_t* data, size_t siz void DhTransportInitFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size == 0)) { - return; - } (void)data; (void)size; std::shared_ptr dhCommTool = std::make_shared(); @@ -82,9 +79,6 @@ void DhTransportInitFuzzTest(const uint8_t* data, size_t size) void DhTransportUnInitFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size == 0)) { - return; - } (void)data; (void)size; std::shared_ptr dhCommTool = std::make_shared(); @@ -93,9 +87,6 @@ void DhTransportUnInitFuzzTest(const uint8_t* data, size_t size) void DHCommToolEventHandlerCtorFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size == 0)) { - return; - } (void)data; (void)size; auto runner = AppExecFwk::EventRunner::Create(true); @@ -122,9 +113,6 @@ void DHCommToolEventHandlerProcessEventFuzzTest(const uint8_t* data, size_t size void DHCommToolEventHandlerProcessFullCapsRspFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size == 0)) { - return; - } (void)data; (void)size; auto runner = AppExecFwk::EventRunner::Create(true); diff --git a/services/distributedhardwarefwkservice/test/fuzztest/dhtransport_fuzzer/dhtransport_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/dhtransport_fuzzer/dhtransport_fuzzer.cpp index 1c623aa5..48714bb8 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/dhtransport_fuzzer/dhtransport_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/dhtransport_fuzzer/dhtransport_fuzzer.cpp @@ -203,9 +203,6 @@ void DhTransportOnShutdownFuzzTest(const uint8_t* data, size_t size) void DhTransportInitFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size < sizeof(int32_t))) { - return; - } (void)data; (void)size; std::shared_ptr dhCommTool = std::make_shared(); @@ -225,9 +222,6 @@ void DhTransportOnBytesFuzzTest(const uint8_t* data, size_t size) void DhTransportGetDHCommToolPtrFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size < sizeof(int32_t))) { - return; - } (void)data; (void)size; auto ptr = GetDHCommToolPtr(); -- Gitee From 96c06b72918e126712187d6b7236c87c0d87c236 Mon Sep 17 00:00:00 2001 From: liuxiaowei42 Date: Sat, 28 Jun 2025 17:08:33 +0800 Subject: [PATCH 3/3] modify FUZZ Signed-off-by: liuxiaowei42 --- .../test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp index 964cfcba..0b2fb6e1 100644 --- a/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp +++ b/services/distributedhardwarefwkservice/test/fuzztest/accessmanager_fuzzer/accessmanager_fuzzer.cpp @@ -126,7 +126,7 @@ void CheckTrustedDeviceOnlineFuzzTest(const uint8_t* data, size_t size) void DumpFuzzTest(const uint8_t* data, size_t size) { - if ((data == nullptr) || (size > DM_MAX_DEVICE_ID_LEN) || (size == 0)) { + if ((data == nullptr) || (size == 0)) { return; } -- Gitee