diff --git a/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp b/test/servicesfuzztest/dmsoftbuslistener_fuzzer/dm_softbus_listener_fuzzer.cpp index 15fa538c376e8d0da080438499d77a26831966d2..c2471bb76c80e64816efd178a8ce09417acfca5e 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))) || @@ -49,10 +68,12 @@ void DmSoftbusListenerFuzzTest(const uint8_t* data, size_t size) 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); @@ -67,17 +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(); - 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.DeleteCacheDeviceInfo(); + DmSoftbusListenerFuzzTestNext(fdp); } } }