From a6326e80aedcbe9ec35ceb348f5b3f054c8c12c5 Mon Sep 17 00:00:00 2001 From: l30054665 Date: Thu, 29 May 2025 09:51:23 +0800 Subject: [PATCH 1/3] fuzz Signed-off-by: l30054665 --- .../dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp b/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp index 15fa538c3..aa0465561 100644 --- a/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp +++ b/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp @@ -47,6 +47,7 @@ void DmSoftbusListenerFuzzTest(const uint8_t* data, size_t size) uint16_t deviceTypeId = fdp.ConsumeIntegral(); string proofInfoStr = fdp.ConsumeRandomLengthString(); SoftbusListener::CredentialAuthStatusProcess(proofInfoStr, deviceTypeId, errcode); + const char* proofInfo = proofInfoStr.c_str(); DevUserInfo localDevUserInfo; localDevUserInfo.deviceId = fdp.ConsumeRandomLengthString(); -- Gitee From acebcf55528cb3bd3235d0442a8b5cc2817979b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=B0=9A?= Date: Thu, 29 May 2025 01:54:17 +0000 Subject: [PATCH 2/3] update test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李尚 --- .../dm_softbus_listener_fuzzer.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp b/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp index aa0465561..e41c800a3 100644 --- a/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp +++ b/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp @@ -47,13 +47,14 @@ void DmSoftbusListenerFuzzTest(const uint8_t* data, size_t size) uint16_t deviceTypeId = fdp.ConsumeIntegral(); string proofInfoStr = fdp.ConsumeRandomLengthString(); SoftbusListener::CredentialAuthStatusProcess(proofInfoStr, deviceTypeId, errcode); - const char* proofInfo = proofInfoStr.c_str(); DevUserInfo localDevUserInfo; - localDevUserInfo.deviceId = fdp.ConsumeRandomLengthString(); + std::string localDeviceId = fdp.ConsumeRandomLengthString(DM_MAX_DEVICE_ID_LEN); + localDevUserInfo.deviceId = localDeviceId.substr(0, DM_MAX_DEVICE_ID_LEN - 1); localDevUserInfo.userId = fdp.ConsumeIntegral(); DevUserInfo remoteDevUserInfo; - remoteDevUserInfo.deviceId = fdp.ConsumeRandomLengthString(); + std::string remoteDeviceId = fdp.ConsumeRandomLengthString(DM_MAX_DEVICE_ID_LEN); + remoteDevUserInfo.deviceId = remoteDeviceId.substr(0, DM_MAX_DEVICE_ID_LEN - 1); remoteDevUserInfo.userId = fdp.ConsumeIntegral(); string remoteAclList = fdp.ConsumeRandomLengthString(); SoftbusListener::OnSyncLocalAclList(localDevUserInfo, remoteDevUserInfo, remoteAclList); @@ -70,14 +71,16 @@ void DmSoftbusListenerFuzzTest(const uint8_t* data, size_t size) SoftbusListener::OnDeviceScreenStatusChanged(type, &status); SoftbusListener listener; std::string networkIdStr = fdp.ConsumeRandomLengthString(); - int32_t networkType = fdp.ConsumeIntegral(); - listener.GetNetworkTypeByNetworkId(networkIdStr.c_str(), networkType); + if (!networkIdStr.empty()) { + int32_t networkType = fdp.ConsumeIntegral(); + listener.GetNetworkTypeByNetworkId(networkIdStr.c_str(), networkType); + } std::string name = fdp.ConsumeRandomLengthString(); SoftbusListener::CloseDmRadarHelperObj(name); std::string msg = fdp.ConsumeRandomLengthString(); listener.SendAclChangedBroadcast(msg); int32_t screenStatus = fdp.ConsumeIntegral(); - listener.GetDeviceScreenStatus(networkId, screenStatus); + listener.GetDeviceScreenStatus(networkIdStr.c_str(), screenStatus); listener.DeleteCacheDeviceInfo(); } } -- Gitee From 80d4a449fbd4874ad3037a77e21eaca3de0c53fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=B0=9A?= Date: Thu, 29 May 2025 07:29:11 +0000 Subject: [PATCH 3/3] update test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李尚 --- .../dm_softbus_listener_fuzzer.cpp | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp b/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp index e41c800a3..c2471bb76 100644 --- a/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp +++ b/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp @@ -29,6 +29,25 @@ namespace OHOS { namespace DistributedHardware { +void DmSoftbusListenerFuzzTestNext(FuzzedDataProvider &fdp) +{ + SoftbusListener listener; + std::string networkIdStr = fdp.ConsumeRandomLengthString(); + if (!networkIdStr.empty()) { + int32_t networkType = fdp.ConsumeIntegral(); + listener.GetNetworkTypeByNetworkId(networkIdStr.c_str(), networkType); + } + std::string name = fdp.ConsumeRandomLengthString(); + SoftbusListener::CloseDmRadarHelperObj(name); + std::string msg = fdp.ConsumeRandomLengthString(); + listener.SendAclChangedBroadcast(msg); + int32_t screenStatus = fdp.ConsumeIntegral(); + listener.GetDeviceScreenStatus(networkIdStr.c_str(), screenStatus); + listener.DeleteCacheDeviceInfo(); + std::string displayName = fdp.ConsumeRandomLengthString(); + listener.SetLocalDisplayName(displayName); +} + void DmSoftbusListenerFuzzTest(const uint8_t* data, size_t size) { if ((data == nullptr) || (size < (sizeof(uint16_t) + (sizeof(int32_t) + sizeof(int32_t))) || @@ -69,19 +88,7 @@ void DmSoftbusListenerFuzzTest(const uint8_t* data, size_t size) status.basicInfo.osType = fdp.ConsumeIntegral(); status.reserved[0] = fdp.ConsumeIntegral(); SoftbusListener::OnDeviceScreenStatusChanged(type, &status); - SoftbusListener listener; - std::string networkIdStr = fdp.ConsumeRandomLengthString(); - if (!networkIdStr.empty()) { - int32_t networkType = fdp.ConsumeIntegral(); - listener.GetNetworkTypeByNetworkId(networkIdStr.c_str(), networkType); - } - std::string name = fdp.ConsumeRandomLengthString(); - SoftbusListener::CloseDmRadarHelperObj(name); - std::string msg = fdp.ConsumeRandomLengthString(); - listener.SendAclChangedBroadcast(msg); - int32_t screenStatus = fdp.ConsumeIntegral(); - listener.GetDeviceScreenStatus(networkIdStr.c_str(), screenStatus); - listener.DeleteCacheDeviceInfo(); + DmSoftbusListenerFuzzTestNext(fdp); } } } -- Gitee