diff --git a/interfaces/ipc/test/fuzztest/distributedinputstub_fuzzer/distributedinputstub_fuzzer.cpp b/interfaces/ipc/test/fuzztest/distributedinputstub_fuzzer/distributedinputstub_fuzzer.cpp index d1f7e8f008cd914c7a3c01223baf9154d124d63b..a0d7f24910ef4a6aa2d18a81e2d9ca10766310fe 100644 --- a/interfaces/ipc/test/fuzztest/distributedinputstub_fuzzer/distributedinputstub_fuzzer.cpp +++ b/interfaces/ipc/test/fuzztest/distributedinputstub_fuzzer/distributedinputstub_fuzzer.cpp @@ -15,6 +15,8 @@ #include "distributedinputstub_fuzzer.h" +#include + #include "add_white_list_infos_call_back_stub.h" #include "del_white_list_infos_call_back_stub.h" #include "get_sink_screen_infos_call_back_stub.h" @@ -50,17 +52,18 @@ void AddWhiteListInfosCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; + FuzzedDataProvider fdp(data, size); pdata.WriteInterfaceToken(DistributedInput::AddWhiteListInfosCallbackStub::GetDescriptor()); - uint32_t code = *(reinterpret_cast(data)); + uint32_t code = fdp.ConsumeIntegral(); if (code == (uint32_t)DistributedInput::IAddWhiteListInfosCallback::Message::RESULT) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -89,17 +92,18 @@ void DelWhiteListInfosCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::DelWhiteListInfosCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::IDelWhiteListInfosCallback::Message::RESULT) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -159,11 +163,12 @@ void DistributedInputSinkStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; + FuzzedDataProvider fdp(data, size); pdata.WriteInterfaceToken(DistributedInput::DistributedInputSinkStub::GetDescriptor()); - uint32_t code = *(reinterpret_cast(data)); - uint32_t type = *(reinterpret_cast(data)); - std::string content(reinterpret_cast(data), size); - std::string devId(reinterpret_cast(data), size); + uint32_t code = fdp.ConsumeIntegral(); + uint32_t type = fdp.ConsumeIntegral(); + std::string content = fdp.ConsumeRandomLengthString(); + std::string devId = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(type); pdata.WriteString(content); pdata.WriteString(devId); @@ -387,11 +392,12 @@ void DistributedInputSourceStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; + FuzzedDataProvider fdp(data, size); pdata.WriteInterfaceToken(DistributedInput::DistributedInputSourceStub::GetDescriptor()); - uint32_t code = *(reinterpret_cast(data)); - uint32_t type = *(reinterpret_cast(data)); - std::string content(reinterpret_cast(data), size); - std::string devId(reinterpret_cast(data), size); + uint32_t code = fdp.ConsumeIntegral(); + uint32_t type = fdp.ConsumeIntegral(); + std::string content = fdp.ConsumeRandomLengthString(); + std::string devId = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(type); pdata.WriteString(content); pdata.WriteString(devId); @@ -444,17 +450,18 @@ void GetSinkScreenInfosCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::GetSinkScreenInfosCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::IGetSinkScreenInfosCallback::Message::RESULT) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -498,24 +505,25 @@ void InputNodeListenerStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::InputNodeListenerStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::InputNodeListener::Message::RESULT_ON) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else if (code == (uint32_t)DistributedInput::InputNodeListener::Message::RESULT_OFF) { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); } else { - uint32_t type = *(reinterpret_cast(data)); - std::string content(reinterpret_cast(data), size); - std::string devId(reinterpret_cast(data), size); + uint32_t type = fdp.ConsumeIntegral(); + std::string content = fdp.ConsumeRandomLengthString(); + std::string devId = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(type); pdata.WriteString(content); pdata.WriteString(devId); @@ -545,17 +553,18 @@ void PrepareDInputCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::PrepareDInputCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::IPrepareDInputCallback::Message::RESULT) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -584,17 +593,18 @@ void RegisterDInputCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::RegisterDInputCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::IRegisterDInputCallback::Message::RESULT) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -623,17 +633,18 @@ void RegisterSessionStateCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::RegisterSessionStateCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::ISessionStateCallback::Message::RESULT) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -669,24 +680,25 @@ void SharingDhIdListenerStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::SharingDhIdListenerStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::ISharingDhIdListener::Message::SHARING) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else if (code == (uint32_t)DistributedInput::ISharingDhIdListener::Message::NO_SHARING) { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); } else { - uint32_t type = *(reinterpret_cast(data)); - std::string content(reinterpret_cast(data), size); - std::string devId(reinterpret_cast(data), size); + uint32_t type = fdp.ConsumeIntegral(); + std::string content = fdp.ConsumeRandomLengthString(); + std::string devId = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(type); pdata.WriteString(content); pdata.WriteString(devId); @@ -715,17 +727,18 @@ void SimulationEventListenerStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::SimulationEventListenerStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::ISimulationEventListener::Message::RESULT_ON) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -754,17 +767,18 @@ void StartDInputCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::StartDInputCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::IStartDInputCallback::Message::RESULT) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -793,17 +807,18 @@ void StartStopDInputsCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::StartStopDInputsCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::IStartStopDInputsCallback::Message::RESULT_STRING) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -838,24 +853,25 @@ void StartStopResultCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::StartStopResultCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::IStartStopResultCallback::Message::RESULT_START) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else if (code == (uint32_t)DistributedInput::IStartStopResultCallback::Message::RESULT_STOP) { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); } else { - uint32_t type = *(reinterpret_cast(data)); - std::string content(reinterpret_cast(data), size); - std::string devId(reinterpret_cast(data), size); + uint32_t type = fdp.ConsumeIntegral(); + std::string content = fdp.ConsumeRandomLengthString(); + std::string devId = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(type); pdata.WriteString(content); pdata.WriteString(devId); @@ -884,17 +900,18 @@ void StopDInputCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::StopDInputCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::IStopDInputCallback::Message::RESULT) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -923,17 +940,18 @@ void UnprepareDInputCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::UnprepareDInputCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::IUnprepareDInputCallback::Message::RESULT) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -962,17 +980,18 @@ void UnregisterDInputCallbackStubFuzzTest(const uint8_t *data, size_t size) MessageParcel pdata; MessageParcel reply; MessageOption option; - uint32_t code = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t code = fdp.ConsumeIntegral(); pdata.WriteInterfaceToken(DistributedInput::UnregisterDInputCallbackStub::GetDescriptor()); if (code == (uint32_t)DistributedInput::IUnprepareDInputCallback::Message::RESULT) { - uint32_t tag = *(reinterpret_cast(data)); - std::string value(reinterpret_cast(data), size); + uint32_t tag = fdp.ConsumeIntegral(); + std::string value = fdp.ConsumeRandomLengthString(); pdata.WriteUint32(tag); pdata.WriteString(value); } else { - int32_t fd = *(reinterpret_cast(data)); - int32_t len = *(reinterpret_cast(data)); - std::string name(reinterpret_cast(data), size); + int32_t fd = fdp.ConsumeIntegral(); + int32_t len = fdp.ConsumeIntegral(); + std::string name = fdp.ConsumeRandomLengthString(); pdata.WriteFileDescriptor(fd); pdata.WriteInt32(len); pdata.WriteString(name); @@ -1009,4 +1028,4 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) OHOS::DistributedHardware::UnprepareDInputCallbackStubFuzzTest(data, size); OHOS::DistributedHardware::UnregisterDInputCallbackStubFuzzTest(data, size); return 0; -} \ No newline at end of file +} diff --git a/test/fuzztest/distributedinputkit_fuzzer/distributed_input_kit_fuzzer.cpp b/test/fuzztest/distributedinputkit_fuzzer/distributed_input_kit_fuzzer.cpp index 30217ec80fc56f02f5df90bee4062abc7af8ff9d..726c3483fe87e968726763623d57594b1ba57537 100644 --- a/test/fuzztest/distributedinputkit_fuzzer/distributed_input_kit_fuzzer.cpp +++ b/test/fuzztest/distributedinputkit_fuzzer/distributed_input_kit_fuzzer.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include "constants_dinput.h" @@ -139,10 +140,11 @@ void IsNeedFilterOutFuzzTest(const uint8_t *data, size_t size) return; } - std::string deviceId(reinterpret_cast(data), size); - int32_t pressedKey = *(reinterpret_cast(data)); - int32_t keyCode = *(reinterpret_cast(data)); - int32_t keyAction = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + std::string deviceId = fdp.ConsumeRandomLengthString(); + int32_t pressedKey = fdp.ConsumeIntegral(); + int32_t keyCode = fdp.ConsumeIntegral(); + int32_t keyAction = fdp.ConsumeIntegral(); DistributedInput::BusinessEvent event; event.pressedKeys.push_back(pressedKey); event.keyCode = keyCode; @@ -175,8 +177,9 @@ void IsTouchEventNeedFilterOutFuzzTest(const uint8_t *data, size_t size) return; } - uint32_t absX = *(reinterpret_cast(data)); - uint32_t absY = *(reinterpret_cast(data)); + FuzzedDataProvider fdp(data, size); + uint32_t absX = fdp.ConsumeIntegral(); + uint32_t absY = fdp.ConsumeIntegral(); DistributedInput::TouchScreenEvent event; event.absX = absX; event.absY = absY; @@ -196,4 +199,4 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) OHOS::DistributedHardware::StopRemoteInputFuzzTest(data, size); OHOS::DistributedHardware::IsTouchEventNeedFilterOutFuzzTest(data, size); return 0; -} \ No newline at end of file +}