From 5679db78e316e62e3ad79afe992b635f30bc83f2 Mon Sep 17 00:00:00 2001 From: wangchuan Date: Thu, 28 Aug 2025 15:28:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=BF=AE=E6=94=B9=E4=BB=A5=E5=8F=8A=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E5=80=BC=E5=90=88=E6=B3=95=E6=80=A7=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9tdd=20Signed-off-by:=20wangchuan=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangchuan --- .../session/host/src/move_drag_controller.cpp | 2 +- wmserver/src/zidl/window_manager_stub.cpp | 2 +- .../unittest/window_manager_stub_test.cpp | 20 +++++++++++++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/window_scene/session/host/src/move_drag_controller.cpp b/window_scene/session/host/src/move_drag_controller.cpp index c49e516def..758f8502d9 100644 --- a/window_scene/session/host/src/move_drag_controller.cpp +++ b/window_scene/session/host/src/move_drag_controller.cpp @@ -1022,7 +1022,7 @@ bool MoveDragController::EventDownInit(const std::shared_ptr& moveDragProperty_.originalRect_); dragAreaType_ = SessionHelper::GetAreaTypeForScaleResize(pointerItem.GetWindowX(), pointerItem.GetWindowY(), outside, moveDragProperty_.originalRect_); - TLOGI(WmsLogTag::WMS_LAYOUT, "pointWinX:%{public}d, pointWinY:%{public}d, outside:%{public}d, vpr:%{public}f, " + TLOGI(WmsLogTag::WMS_LAYOUT, "pointWinX:%{private}d, pointWinY:%{private}d, outside:%{public}d, vpr:%{public}f, " "rect:%{public}s, type:%{public}d", pointerItem.GetWindowX(), pointerItem.GetWindowY(), outside, vpr_, moveDragProperty_.originalRect_.ToString().c_str(), type_); if (type_ == AreaType::UNDEFINED) { diff --git a/wmserver/src/zidl/window_manager_stub.cpp b/wmserver/src/zidl/window_manager_stub.cpp index 7219ddd877..001ba1758d 100644 --- a/wmserver/src/zidl/window_manager_stub.cpp +++ b/wmserver/src/zidl/window_manager_stub.cpp @@ -216,7 +216,7 @@ int32_t WindowManagerStub::OnRemoteRequest(uint32_t code, MessageParcel& data, M } case WindowManagerMessage::TRANS_ID_UPDATE_LAYOUT_MODE: { uint32_t layoutMode = 0; - if (!data.ReadUint32(layoutMode)) { + if (!data.ReadUint32(layoutMode) || layoutMode >= static_cast(WindowLayoutMode::END)) { TLOGE(WmsLogTag::WMS_LAYOUT, "read layoutMode failed"); return ERR_INVALID_DATA; } diff --git a/wmserver/test/unittest/window_manager_stub_test.cpp b/wmserver/test/unittest/window_manager_stub_test.cpp index 13846a97fd..8de6b0caad 100644 --- a/wmserver/test/unittest/window_manager_stub_test.cpp +++ b/wmserver/test/unittest/window_manager_stub_test.cpp @@ -15,6 +15,8 @@ #include #include "window_manager_stub_impl.h" +#include "window_manager_service.h" +#include "zidl/window_manager_stub.h" using namespace testing; using namespace testing::ext; @@ -292,6 +294,7 @@ HWTEST_F(WindowManagerStubTest, OnRemoteRequest11, TestSize.Level1) */ HWTEST_F(WindowManagerStubTest, OnRemoteRequest12, TestSize.Level1) { + // Case 1: valid window layout mode can successfully request MessageParcel data; MessageParcel reply; MessageOption option; @@ -301,8 +304,21 @@ HWTEST_F(WindowManagerStubTest, OnRemoteRequest12, TestSize.Level1) uint32_t code = static_cast(IWindowManager::WindowManagerMessage::TRANS_ID_UPDATE_LAYOUT_MODE); - int res = stub_->OnRemoteRequest(code, data, reply, option); - EXPECT_EQ(res, static_cast(ERR_NONE)); + int32_t res = stub_->OnRemoteRequest(code, data, reply, option); + EXPECT_EQ(res, ERR_NONE); + + // Case 2: invalid window layout mode should return ERR_INVALID_DATA + MessageParcel data2; + MessageParcel reply2; + MessageOption option2; + + data2.WriteInterfaceToken(WindowManagerStub::GetDescriptor()); + data2.WriteUint32(static_cast(WindowLayoutMode::END)); + + sptr stub = new WindowManagerService(); + + int32_t res2 = stub->OnRemoteRequest(code, data2, reply2, option2); + EXPECT_EQ(res2, ERR_INVALID_DATA); } /** -- Gitee