From 267bdde3232566e210659df47dc7580e676e9ee5 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 27 Oct 2019 11:15:15 +0100 Subject: [PATCH] Core/PacketIO: Restrict CMSG_STANDSTATECHANGE to only allow the same stand states that client can send by itself --- src/server/game/Handlers/MiscHandler.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 1a8d73f5892..9bfbf5cd5e3 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -496,10 +496,20 @@ void WorldSession::HandleSetSelectionOpcode(WorldPacket& recvData) void WorldSession::HandleStandStateChangeOpcode(WorldPacket& recvData) { - // TC_LOG_DEBUG("network", "WORLD: Received CMSG_STANDSTATECHANGE"); -- too many spam in log at lags/debug stop uint32 animstate; recvData >> animstate; + switch (animstate) + { + case UNIT_STAND_STATE_STAND: + case UNIT_STAND_STATE_SIT: + case UNIT_STAND_STATE_SLEEP: + case UNIT_STAND_STATE_KNEEL: + break; + default: + return; + } + _player->SetStandState(animstate); }