diff --git a/interfaces/ipc/src/distributed_input_client.cpp b/interfaces/ipc/src/distributed_input_client.cpp index b0cea8fda5e5546d84051ad8feb14e5dfc67b6e3..7695489f5bd1e432bb7be10ef740dd2b370e65d1 100644 --- a/interfaces/ipc/src/distributed_input_client.cpp +++ b/interfaces/ipc/src/distributed_input_client.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2024 Huawei Device Co., Ltd. + * Copyright (c) 2021-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -329,7 +329,7 @@ int32_t DistributedInputClient::RegisterDistributedHardware(const std::string &d const std::string ¶meters, const std::shared_ptr &callback) { DHLOGI("DinputRegister called, deviceId: %{public}s, dhId: %{public}s, parameters: %{public}s.", - GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str(), SetAnonyId(parameters).c_str()); + GetAnonyString(devId).c_str(), GetAnonyString(dhId).c_str(), parameters.c_str()); if (!DInputSAManager::GetInstance().GetDInputSourceProxy()) { DHLOGE("DinputRegister client fail."); return ERR_DH_INPUT_CLIENT_GET_SOURCE_PROXY_FAIL; diff --git a/test/fuzztest/distributedinputsinktransport_fuzzer/distributed_input_sink_transport_fuzzer.cpp b/test/fuzztest/distributedinputsinktransport_fuzzer/distributed_input_sink_transport_fuzzer.cpp index 80e5f06fe2ce4270183e26c912c1e0de4b17f388..6be73e00d6b5ae100b5eb5758d76dd255fbc3b32 100644 --- a/test/fuzztest/distributedinputsinktransport_fuzzer/distributed_input_sink_transport_fuzzer.cpp +++ b/test/fuzztest/distributedinputsinktransport_fuzzer/distributed_input_sink_transport_fuzzer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021-2023 Huawei Device Co., Ltd. + * Copyright (c) 2021-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at @@ -33,7 +33,10 @@ void RespPrepareRemoteInputFuzzTest(const uint8_t *data, size_t size) } int32_t sessionId = *(reinterpret_cast(data)); - std::string smsg(reinterpret_cast(data), size); + nlohmann::json jsonStr; + jsonStr["device_id"] = "123456"; + jsonStr["dh_id"] = "dinput_1"; + std::string smsg = jsonStr.dump(); DistributedInput::DistributedInputSinkTransport::GetInstance().RespPrepareRemoteInput(sessionId, smsg); DistributedInput::DistributedInputSinkTransport::GetInstance().RespUnprepareRemoteInput(sessionId, smsg); @@ -46,7 +49,10 @@ void RespStartRemoteInputFuzzTest(const uint8_t *data, size_t size) } int32_t sessionId = *(reinterpret_cast(data)); - std::string smsg(reinterpret_cast(data), size); + nlohmann::json jsonStr; + jsonStr["device_id"] = "123456"; + jsonStr["dh_id"] = "dinput_1"; + std::string smsg = jsonStr.dump(); DistributedInput::DistributedInputSinkTransport::GetInstance().RespStartRemoteInput(sessionId, smsg); DistributedInput::DistributedInputSinkTransport::GetInstance().RespStopRemoteInput(sessionId, smsg); diff --git a/test/fuzztest/distributedinputtransportbase_fuzzer/distributed_input_transport_base_fuzzer.cpp b/test/fuzztest/distributedinputtransportbase_fuzzer/distributed_input_transport_base_fuzzer.cpp index a8dcdb69d998ad14d5bdfc9650b57cec5f8bee48..89fe7644624c8c9976838c495e1e1ef6db48384e 100644 --- a/test/fuzztest/distributedinputtransportbase_fuzzer/distributed_input_transport_base_fuzzer.cpp +++ b/test/fuzztest/distributedinputtransportbase_fuzzer/distributed_input_transport_base_fuzzer.cpp @@ -111,6 +111,26 @@ void InitFuzzTest(const uint8_t *data, size_t size) (void)size; DistributedInput::DistributedInputTransportBase::GetInstance().Init(); } + +void ReleaseFuzzTest(const uint8_t *data, size_t size) +{ + (void)data; + (void)size; + DistributedInput::DistributedInputTransportBase::GetInstance().Release(); +} + +void CreateClientSocketFuzzTest(const uint8_t *data, size_t size) +{ + if ((data == nullptr) || (size == 0)) { + return; + } + FuzzedDataProvider fdp(data, size); + std::string remoteDevId = fdp.ConsumeRandomLengthString(); + DistributedInput::DistributedInputTransportBase::GetInstance().CreateClientSocket(remoteDevId); + if (DistributedInput::DistributedInputTransportBase::GetInstance().sessionId_ > 0) { + Shutdown(DistributedInput::DistributedInputTransportBase::GetInstance().sessionId_); + } +} } // namespace DistributedHardware } // namespace OHOS @@ -125,5 +145,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) OHOS::DistributedHardware::OnSessionClosedFuzzTest(data, size); OHOS::DistributedHardware::EraseSessionIdFuzzTest(data, size); OHOS::DistributedHardware::InitFuzzTest(data, size); + OHOS::DistributedHardware::ReleaseFuzzTest(data, size); + OHOS::DistributedHardware::CreateClientSocketFuzzTest(data, size); return 0; } \ No newline at end of file