diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/game/Server/WorldSession.cpp | 3 | 
1 files changed, 3 insertions, 0 deletions
| diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 4131b7837b3..f65cd750ea9 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -828,6 +828,9 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi)              mi->RemoveMovementFlag((maskToRemove));      #endif +    if (!GetPlayer()->GetVehicleBase() || !(GetPlayer()->GetVehicle()->GetVehicleInfo()->m_flags & VEHICLE_FLAG_FIXED_POSITION)) +        REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_ROOT), MOVEMENTFLAG_ROOT); +      /*! This must be a packet spoofing attempt. MOVEMENTFLAG_ROOT sent from the client is not valid          in conjunction with any of the moving movement flags such as MOVEMENTFLAG_FORWARD.          It will freeze clients that receive this player's movement info. | 
