diff --git a/frameworks/inputmethod_ability/src/input_method_core_stub.cpp b/frameworks/inputmethod_ability/src/input_method_core_stub.cpp index 2fc3af6..b4d9f4a 100644 --- a/frameworks/inputmethod_ability/src/input_method_core_stub.cpp +++ b/frameworks/inputmethod_ability/src/input_method_core_stub.cpp @@ -92,6 +92,7 @@ namespace MiscServices { IMSA_HILOGI("InputMethodCoreStub::OnRemoteRequest START_INPUT inputDataChannel is nulltpr"); } startInput(inputDataChannel, *editorAttribute, supportPhysicalKbd); + delete editorAttribute; reply.WriteNoException(); break; } @@ -120,6 +121,7 @@ namespace MiscServices { case SET_KEYBOARD_TYPE: { KeyboardType *type = data.ReadParcelable(); setKeyboardType(*type); + delete type; reply.WriteNoException(); break; } diff --git a/frameworks/inputmethod_controller/src/input_method_controller.cpp b/frameworks/inputmethod_controller/src/input_method_controller.cpp index 8051f46..8a09e04 100644 --- a/frameworks/inputmethod_controller/src/input_method_controller.cpp +++ b/frameworks/inputmethod_controller/src/input_method_controller.cpp @@ -158,6 +158,7 @@ using namespace MessageID; if (textListener != nullptr) { textListener->SendKeyboardInfo(*info); } + delete info; break; } case MSG_ID_SEND_FUNCTION_KEY: { @@ -169,6 +170,7 @@ using namespace MessageID; if (textListener != nullptr) { textListener->SendKeyboardInfo(*info); } + delete info; break; } case MSG_ID_MOVE_CURSOR: { diff --git a/services/src/peruser_session.cpp b/services/src/peruser_session.cpp index 1b6d18a..5682952 100644 --- a/services/src/peruser_session.cpp +++ b/services/src/peruser_session.cpp @@ -1185,6 +1185,7 @@ namespace MiscServices { } int ret = AddClient(pid, uid, displayId, client, channel, *attribute); + delete attribute; if (ret != ErrorCode::NO_ERROR) { IMSA_HILOGE("PerUserSession::OnPrepareInput Aborted! %{public}s", ErrorCode::ToString(ret)); return;