/* * Copyright (c) 2024 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 * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "stubhandleallocsocketfd_fuzzer.h" #include "mmi_service.h" #include "multimodal_input_connect_stub.h" #undef MMI_LOG_TAG #define MMI_LOG_TAG "StubHandleAllocSocketFdFuzzTest" class UDSSession; using SessionPtr = std::shared_ptr; namespace OHOS { namespace MMI { namespace { constexpr uint32_t MAX_BUNDLE_NAME_LENGTH = 127; } // namespace const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" }; void AddEpollFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); EpollEventType type = static_cast(fdp.ConsumeIntegralInRange(0, EPOLL_EVENT_END)); int32_t fd = fdp.ConsumeIntegral(); bool readOnly = fdp.ConsumeBool(); MMIService::GetInstance()->AddEpoll(type, fd, readOnly); } void DelEpollFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); EpollEventType type = static_cast(fdp.ConsumeIntegralInRange(0, EPOLL_EVENT_END)); int32_t fd = fdp.ConsumeIntegral(); MMIService::GetInstance()->DelEpoll(type, fd); } void SetMouseScrollRowsFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t rows = fdp.ConsumeIntegral(); MMIService::GetInstance()->SetMouseScrollRows(rows); } void SetMouseIconFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t windowId = fdp.ConsumeIntegral(); CursorPixelMap cursorPixelMap; MMIService::GetInstance()->SetMouseIcon(windowId, cursorPixelMap); } void ReadMouseScrollRowsFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t rows = fdp.ConsumeIntegral(); MMIService::GetInstance()->ReadMouseScrollRows(rows); } void MarkProcessedFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t eventType = fdp.ConsumeIntegral(); int32_t eventId = fdp.ConsumeIntegral(); MMIService::GetInstance()->MarkProcessed(eventType, eventId); } void OnSupportKeysFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t deviceId = fdp.ConsumeIntegral(); std::vector keys = { fdp.ConsumeIntegral(), fdp.ConsumeIntegral(), fdp.ConsumeIntegral(), fdp.ConsumeIntegral() }; std::vector keystroke = { fdp.ConsumeBool(), fdp.ConsumeBool() }; MMIService::GetInstance()->OnSupportKeys(deviceId, keys, keystroke); } void OnGetDeviceIdsFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); std::vector ids = { fdp.ConsumeIntegral(), fdp.ConsumeIntegral(), fdp.ConsumeIntegral(), fdp.ConsumeIntegral() }; MMIService::GetInstance()->OnGetDeviceIds(ids); } void OnGetDeviceFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t deviceId = fdp.ConsumeIntegral(); std::shared_ptr inputDevice = std::make_shared(); MMIService::GetInstance()->OnGetDevice(deviceId, inputDevice); } void OnGetKeyboardTypeFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t deviceId = fdp.ConsumeIntegral(); int32_t keyboardType = fdp.ConsumeIntegral(); MMIService::GetInstance()->OnGetKeyboardType(deviceId, keyboardType); } void SetKeyboardRepeatDelayFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t delay = fdp.ConsumeIntegral(); MMIService::GetInstance()->SetKeyboardRepeatDelay(delay); } void CheckRemoveInputFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t pid = fdp.ConsumeIntegral(); InputHandlerType handlerType = static_cast(fdp.ConsumeIntegralInRange(0, MONITOR)); HandleEventType eventType = fdp.ConsumeIntegral(); int32_t priority = fdp.ConsumeIntegral(); uint32_t deviceTags = fdp.ConsumeIntegral(); MMIService::GetInstance()->CheckRemoveInput(pid, handlerType, eventType, priority, deviceTags); } void RemoveInputHandlerFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t handlerType = fdp.ConsumeIntegral(); uint32_t eventType = fdp.ConsumeIntegral(); int32_t priority = fdp.ConsumeIntegral(); uint32_t deviceTags = fdp.ConsumeIntegral(); MMIService::GetInstance()->RemoveInputHandler(handlerType, eventType, priority, deviceTags); } void MarkEventConsumedFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t eventId = fdp.ConsumeIntegral(); MMIService::GetInstance()->MarkEventConsumed(eventId); } void MoveMouseEventFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t offsetX = fdp.ConsumeIntegral(); int32_t offsetY = fdp.ConsumeIntegral(); MMIService::GetInstance()->MoveMouseEvent(offsetX, offsetY); } void InjectPointerEventFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); std::shared_ptr pointerEvent = PointerEvent::Create(); pointerEvent->pointerAction_ = fdp.ConsumeIntegral(); pointerEvent->originPointerAction_ = fdp.ConsumeIntegral(); pointerEvent->buttonId_ = fdp.ConsumeIntegral(); pointerEvent->fingerCount_ = fdp.ConsumeIntegral(); pointerEvent->pullId_ = fdp.ConsumeIntegral(); bool isNativeInject = fdp.ConsumeBool(); int32_t useCoordinate = fdp.ConsumeIntegral(); MMIService::GetInstance()->InjectPointerEvent(*pointerEvent.get(), isNativeInject, useCoordinate); } void OnAddSystemAbilityFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t systemAbilityId = fdp.ConsumeIntegral(); std::string deviceId = fdp.ConsumeBytesAsString(10); // test value MMIService::GetInstance()->OnAddSystemAbility(systemAbilityId, deviceId); } void SubscribeKeyEventFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); KeyOption keyOption; keyOption.finalKey_ = fdp.ConsumeIntegral(); keyOption.isFinalKeyDown_ = fdp.ConsumeIntegral(); keyOption.finalKeyDownDuration_ = fdp.ConsumeBool(); keyOption.finalKeyUpDelay_ = fdp.ConsumeIntegral(); keyOption.isRepeat_ = fdp.ConsumeBool(); keyOption.priority_ = SubscribePriority::PRIORITY_0; int32_t subscribeId = fdp.ConsumeIntegral(); MMIService::GetInstance()->SubscribeKeyEvent(subscribeId, keyOption); } void UnsubscribeKeyEventFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t subscribeId = fdp.ConsumeIntegral(); MMIService::GetInstance()->UnsubscribeKeyEvent(subscribeId); } void SubscribeSwitchEventFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t subscribeId = fdp.ConsumeIntegral(); int32_t switchType = fdp.ConsumeIntegral(); MMIService::GetInstance()->SubscribeSwitchEvent(subscribeId, switchType); } void SetDisplayBindFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t deviceId = fdp.ConsumeIntegral(); int32_t displayId = fdp.ConsumeIntegral(); std::string msg = fdp.ConsumeBytesAsString(10); // test value MMIService::GetInstance()->SetDisplayBind(deviceId, displayId, msg); } void SetFunctionKeyStateFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t funcKey = fdp.ConsumeIntegral(); bool enable = fdp.ConsumeBool(); MMIService::GetInstance()->SetFunctionKeyState(funcKey, enable); } void SetPointerLocationFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t x = fdp.ConsumeIntegral(); int32_t y = fdp.ConsumeIntegral(); int32_t displayId = fdp.ConsumeIntegral(); MMIService::GetInstance()->SetPointerLocation(x, y, displayId); } void DumpFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); std::vector args = { u"datatest1", u"datatest2", u"datatest3", u"datatest4" }; int32_t fd = fdp.ConsumeIntegral(); MMIService::GetInstance()->Dump(fd, args); } void OnGetWindowPidFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t windowId = fdp.ConsumeIntegral(); int32_t ywindowPid = fdp.ConsumeIntegral(); MMIService::GetInstance()->OnGetWindowPid(windowId, ywindowPid); } void GetWindowPidFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t windowId = fdp.ConsumeIntegral(); int32_t ywindowPid = fdp.ConsumeIntegral(); MMIService::GetInstance()->GetWindowPid(windowId, ywindowPid); } void SetKeyDownDurationFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); std::string businessId = fdp.ConsumeBytesAsString(10); // test value int32_t delay = fdp.ConsumeIntegral(); MMIService::GetInstance()->SetKeyDownDuration(businessId, delay); } void ReadTouchpadScrollSwichFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->ReadTouchpadScrollSwich(switchFlag); } void ReadTouchpadScrollDirectionFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->ReadTouchpadScrollDirection(switchFlag); } void ReadTouchpadTapSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->ReadTouchpadTapSwitch(switchFlag); } void ReadTouchpadPointerSpeedFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t speed = fdp.ConsumeIntegral(); MMIService::GetInstance()->ReadTouchpadPointerSpeed(speed); } void ReadTouchpadPinchSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->ReadTouchpadPinchSwitch(switchFlag); } void ReadTouchpadSwipeSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->ReadTouchpadSwipeSwitch(switchFlag); } void ReadTouchpadRightMenuTypeFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t type = fdp.ConsumeIntegral(); MMIService::GetInstance()->ReadTouchpadRightMenuType(type); } void ReadTouchpadRotateSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool rotateSwitch = fdp.ConsumeBool(); MMIService::GetInstance()->ReadTouchpadRotateSwitch(rotateSwitch); } void SetTouchpadScrollSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->SetTouchpadScrollSwitch(switchFlag); } void GetTouchpadScrollSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->GetTouchpadScrollSwitch(switchFlag); } void SetTouchpadScrollDirectionFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool state = fdp.ConsumeBool(); MMIService::GetInstance()->SetTouchpadScrollDirection(state); } void GetTouchpadScrollDirectionFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->GetTouchpadScrollDirection(switchFlag); } void SetTouchpadTapSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->SetTouchpadTapSwitch(switchFlag); } void GetTouchpadTapSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->GetTouchpadTapSwitch(switchFlag); } void SetTouchpadPointerSpeedFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t speed = fdp.ConsumeIntegral(); MMIService::GetInstance()->SetTouchpadPointerSpeed(speed); } void GetTouchpadPointerSpeedFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t speed = fdp.ConsumeIntegral(); MMIService::GetInstance()->GetTouchpadPointerSpeed(speed); } void SetTouchpadPinchSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->SetTouchpadPinchSwitch(switchFlag); } void GetTouchpadPinchSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->GetTouchpadPinchSwitch(switchFlag); } void SetTouchpadSwipeSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->SetTouchpadSwipeSwitch(switchFlag); } void GetTouchpadSwipeSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool switchFlag = fdp.ConsumeBool(); MMIService::GetInstance()->GetTouchpadSwipeSwitch(switchFlag); } void SetTouchpadRightClickTypeFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t type = fdp.ConsumeIntegral(); MMIService::GetInstance()->SetTouchpadRightClickType(type); } void SetTouchpadRotateSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool rotateSwitch = fdp.ConsumeBool(); MMIService::GetInstance()->SetTouchpadRotateSwitch(rotateSwitch); } void GetTouchpadRotateSwitchFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool rotateSwitch = fdp.ConsumeBool(); MMIService::GetInstance()->GetTouchpadRotateSwitch(rotateSwitch); } void GetKeyStateFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); std::vector pressedKey = { fdp.ConsumeIntegral(), fdp.ConsumeIntegral(), fdp.ConsumeIntegral(), fdp.ConsumeIntegral() }; std::unordered_map specialkeysState = { {fdp.ConsumeIntegral(), fdp.ConsumeIntegral()}, {fdp.ConsumeIntegral(), fdp.ConsumeIntegral()}, {fdp.ConsumeIntegral(), fdp.ConsumeIntegral()}, {fdp.ConsumeIntegral(), fdp.ConsumeIntegral()}, }; MMIService::GetInstance()->GetKeyState(pressedKey, specialkeysState); } void AuthorizeFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool isAuthorize = fdp.ConsumeBool(); MMIService::GetInstance()->Authorize(isAuthorize); } void OnAuthorizeFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool isAuthorize = fdp.ConsumeBool(); MMIService::GetInstance()->OnAuthorize(isAuthorize); } void TransmitInfraredFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int64_t number = fdp.ConsumeIntegral(); std::vector pattern = { fdp.ConsumeIntegral(), fdp.ConsumeIntegral(), fdp.ConsumeIntegral(), fdp.ConsumeIntegral() }; MMIService::GetInstance()->TransmitInfrared(number, pattern); } void SetPixelMapDataFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t infoId = fdp.ConsumeIntegral(); CursorPixelMap cursorPixelMap; MMIService::GetInstance()->SetPixelMapData(infoId, cursorPixelMap); } void SetCurrentUserFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t userId = fdp.ConsumeIntegral(); MMIService::GetInstance()->SetCurrentUser(userId); } void AddVirtualInputDeviceFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t deviceId = fdp.ConsumeIntegral(); InputDevice device; device.id_ = fdp.ConsumeIntegral(); device.type_ = fdp.ConsumeIntegral(); device.bus_ = fdp.ConsumeIntegral(); device.version_ = fdp.ConsumeIntegral(); device.product_ = fdp.ConsumeIntegral(); device.vendor_ = fdp.ConsumeIntegral(); device.phys_ = fdp.ConsumeRandomLengthString(MAX_BUNDLE_NAME_LENGTH); device.uniq_ = fdp.ConsumeRandomLengthString(MAX_BUNDLE_NAME_LENGTH); MMIService::GetInstance()->AddVirtualInputDevice(device, deviceId); } void RemoveVirtualInputDeviceFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); int32_t deviceId = fdp.ConsumeIntegral(); MMIService::GetInstance()->RemoveVirtualInputDevice(deviceId); } void EnableHardwareCursorStatsFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); bool enable = fdp.ConsumeBool(); MMIService::GetInstance()->EnableHardwareCursorStats(enable); } void GetHardwareCursorStatsFuzzTest(const uint8_t *data, size_t size) { FuzzedDataProvider fdp(data, size); uint32_t frameCount = fdp.ConsumeIntegral(); uint32_t vsyncCount = fdp.ConsumeIntegral(); MMIService::GetInstance()->GetHardwareCursorStats(frameCount, vsyncCount); } void MmiServiceFuzzFirstGroup(const uint8_t *data, size_t size) { AddEpollFuzzTest(data, size); DelEpollFuzzTest(data, size); SetMouseScrollRowsFuzzTest(data, size); SetMouseIconFuzzTest(data, size); ReadMouseScrollRowsFuzzTest(data, size); MarkProcessedFuzzTest(data, size); OnSupportKeysFuzzTest(data, size); OnGetDeviceIdsFuzzTest(data, size); OnGetDeviceFuzzTest(data, size); OnGetKeyboardTypeFuzzTest(data, size); SetKeyboardRepeatDelayFuzzTest(data, size); CheckRemoveInputFuzzTest(data, size); RemoveInputHandlerFuzzTest(data, size); MarkEventConsumedFuzzTest(data, size); MoveMouseEventFuzzTest(data, size); InjectPointerEventFuzzTest(data, size); OnAddSystemAbilityFuzzTest(data, size); SubscribeKeyEventFuzzTest(data, size); UnsubscribeKeyEventFuzzTest(data, size); SubscribeSwitchEventFuzzTest(data, size); SetDisplayBindFuzzTest(data, size); SetFunctionKeyStateFuzzTest(data, size); SetPointerLocationFuzzTest(data, size); DumpFuzzTest(data, size); OnGetWindowPidFuzzTest(data, size); GetWindowPidFuzzTest(data, size); SetKeyDownDurationFuzzTest(data, size); ReadTouchpadScrollSwichFuzzTest(data, size); ReadTouchpadScrollDirectionFuzzTest(data, size); ReadTouchpadTapSwitchFuzzTest(data, size); } void MmiServiceFuzzSecondGroup(const uint8_t *data, size_t size) { ReadTouchpadPointerSpeedFuzzTest(data, size); ReadTouchpadPinchSwitchFuzzTest(data, size); ReadTouchpadSwipeSwitchFuzzTest(data, size); ReadTouchpadRightMenuTypeFuzzTest(data, size); ReadTouchpadRotateSwitchFuzzTest(data, size); SetTouchpadScrollSwitchFuzzTest(data, size); GetTouchpadScrollSwitchFuzzTest(data, size); SetTouchpadScrollDirectionFuzzTest(data, size); GetTouchpadScrollDirectionFuzzTest(data, size); SetTouchpadTapSwitchFuzzTest(data, size); GetTouchpadTapSwitchFuzzTest(data, size); SetTouchpadPointerSpeedFuzzTest(data, size); GetTouchpadPointerSpeedFuzzTest(data, size); SetTouchpadPinchSwitchFuzzTest(data, size); GetTouchpadPinchSwitchFuzzTest(data, size); SetTouchpadSwipeSwitchFuzzTest(data, size); GetTouchpadSwipeSwitchFuzzTest(data, size); SetTouchpadRightClickTypeFuzzTest(data, size); SetTouchpadRotateSwitchFuzzTest(data, size); GetTouchpadRotateSwitchFuzzTest(data, size); GetKeyStateFuzzTest(data, size); AuthorizeFuzzTest(data, size); OnAuthorizeFuzzTest(data, size); TransmitInfraredFuzzTest(data, size); SetPixelMapDataFuzzTest(data, size); SetCurrentUserFuzzTest(data, size); AddVirtualInputDeviceFuzzTest(data, size); RemoveVirtualInputDeviceFuzzTest(data, size); EnableHardwareCursorStatsFuzzTest(data, size); GetHardwareCursorStatsFuzzTest(data, size); } bool StubHandleAllocSocketFdFuzzTest(const uint8_t *data, size_t size) { MessageParcel datas; if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) || !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) { return false; } MessageParcel reply; MessageOption option; MMIService::GetInstance()->InitLibinputService(); MMIService::GetInstance()->InitDelegateTasks(); MMIService::GetInstance()->AddAppDebugListener(); MMIService::GetInstance()->AddReloadDeviceTimer(); MMIService::GetInstance()->CancelInjection(); MMIService::GetInstance()->OnCancelInjection(); MmiServiceFuzzFirstGroup(data, size); MmiServiceFuzzSecondGroup(data, size); #ifdef OHOS_BUILD_ENABLE_MAGICCURSOR MMIService::GetInstance()->GetPointerSnapshot(*pixelMapPtr); #endif // OHOS_BUILD_ENABLE_MAGICCURSOR MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING; MMIService::GetInstance()->OnRemoteRequest( static_cast(IMultimodalInputConnectIpcCode::COMMAND_ALLOC_SOCKET_FD), datas, reply, option); return true; } } // MMI } // OHOS /* Fuzzer entry point */ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { /* Run your code on data */ if (data == nullptr) { return 0; } OHOS::MMI::StubHandleAllocSocketFdFuzzTest(data, size); return 0; }