From fe99d6ef76f1b4c3e1a5ea0752cfb5c822654a55 Mon Sep 17 00:00:00 2001 From: Shauren Date: Thu, 24 Apr 2014 10:22:57 +0200 Subject: Core/Movement: Fixed an exploit allowing players to crash the server by using modified movement packets --- src/server/game/Server/WorldSession.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 58e7ba02f47..89242bada6e 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -46,6 +46,7 @@ #include "Transport.h" #include "WardenWin.h" #include "WardenMac.h" +#include "MoveSpline.h" namespace { @@ -891,6 +892,9 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi) REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_CAN_FLY | MOVEMENTFLAG_DISABLE_GRAVITY) && mi->HasMovementFlag(MOVEMENTFLAG_FALLING), MOVEMENTFLAG_FALLING); + REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_SPLINE_ENABLED) && + (!GetPlayer()->movespline->Initialized() || GetPlayer()->movespline->Finalized()), MOVEMENTFLAG_SPLINE_ENABLED); + #undef REMOVE_VIOLATING_FLAGS } -- cgit v1.2.3