diff --git a/test/fuzztest/systemabilitystubfuzztest/common/imf_sa_stub_fuzz_util.cpp b/test/fuzztest/systemabilitystubfuzztest/common/imf_sa_stub_fuzz_util.cpp index 05cd16c2717bdd15e31467656ff13273af481f72..7dedfd8b86cbc91f05a180c2182353af7e0a61e3 100644 --- a/test/fuzztest/systemabilitystubfuzztest/common/imf_sa_stub_fuzz_util.cpp +++ b/test/fuzztest/systemabilitystubfuzztest/common/imf_sa_stub_fuzz_util.cpp @@ -59,7 +59,7 @@ void ImfSaStubFuzzUtil::GrantNativePermission() delete[] perms; } -bool ImfSaStubFuzzUtil::SwitchIpcCode(IInputMethodSystemAbilityIpcCode code, MessageParcel &datas) +bool ImfSaStubFuzzUtil::SwitchIpcCode(IInputMethodSystemAbilityIpcCode code, MessageParcel &datas, int32_t fuzzedInt32) { switch (code) { case IInputMethodSystemAbilityIpcCode::COMMAND_START_INPUT: { @@ -84,7 +84,7 @@ bool ImfSaStubFuzzUtil::SwitchIpcCode(IInputMethodSystemAbilityIpcCode code, Mes } case IInputMethodSystemAbilityIpcCode::COMMAND_UN_REGISTERED_PROXY_IME: { sptr core = new InputMethodCoreServiceImpl(); - if (core == nullptr || !datas.WriteRemoteObject(core->AsObject())) { + if (core == nullptr || !datas.WriteInt32(fuzzedInt32) || !datas.WriteRemoteObject(core->AsObject())) { return false; } } @@ -111,11 +111,12 @@ bool ImfSaStubFuzzUtil::FuzzInputMethodSystemAbility(const uint8_t *rawData, siz if (!isInitialize_) { Initialize(); } + auto fuzzedInt32 = static_cast(size); GrantNativePermission(); MessageParcel datas; datas.WriteInterfaceToken(SYSTEMABILITY_INTERFACE_TOKEN); - SwitchIpcCode(code, datas); + SwitchIpcCode(code, datas, fuzzedInt32); datas.WriteBuffer(rawData, size); datas.RewindRead(0); MessageParcel reply; diff --git a/test/fuzztest/systemabilitystubfuzztest/common/imf_sa_stub_fuzz_util.h b/test/fuzztest/systemabilitystubfuzztest/common/imf_sa_stub_fuzz_util.h index d35504b7becfa1fb45c6cd1253d601519b1fb081..cc32e9314dc7ff12c4b991f1afdca99ffc606226 100644 --- a/test/fuzztest/systemabilitystubfuzztest/common/imf_sa_stub_fuzz_util.h +++ b/test/fuzztest/systemabilitystubfuzztest/common/imf_sa_stub_fuzz_util.h @@ -38,7 +38,7 @@ private: static void InitKeyboardDelegate(); static void Initialize(); static void GrantNativePermission(); - static bool SwitchIpcCode(IInputMethodSystemAbilityIpcCode code, MessageParcel &datas); + static bool SwitchIpcCode(IInputMethodSystemAbilityIpcCode code, MessageParcel &datas, int32_t fuzzedInt32); static bool isInitialize_; static std::mutex initMutex_; };