diff options
| author | Machiavelli <machiaveltman@gmail.com> | 2012-01-07 03:58:42 -0800 |
|---|---|---|
| committer | Machiavelli <machiaveltman@gmail.com> | 2012-01-07 03:58:42 -0800 |
| commit | 1dc6f6a2da3ab7e9ae67bf6c10f21dbc21616e3d (patch) | |
| tree | 8b7388f12e02d2c6ecc7e812c322b0db438ac681 /src/server/game/Server/Protocol | |
| parent | d3aba222804983e662d1e1d46161ae92ab236ed8 (diff) | |
| parent | 7d7bb8363ddb28086ddab1565d540993d32b616e (diff) | |
Merge pull request #4646 from elecyb/crash1
Core/PacketIO: Fix crash and exploit caused when client sends tampered m...
Diffstat (limited to 'src/server/game/Server/Protocol')
| -rwxr-xr-x | src/server/game/Server/Protocol/Handlers/MovementHandler.cpp | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp b/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp index 75bd2e2f66d..0c54a37c362 100755 --- a/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/MovementHandler.cpp @@ -472,18 +472,7 @@ void WorldSession::HandleSetActiveMoverOpcode(WorldPacket &recv_data) if (GetPlayer()->IsInWorld()) { - if (Unit* mover = ObjectAccessor::GetUnit(*GetPlayer(), guid)) - { - GetPlayer()->SetMover(mover); - if (mover != GetPlayer() && mover->canFly()) - { - WorldPacket data(SMSG_MOVE_SET_CAN_FLY, 12); - data.append(mover->GetPackGUID()); - data << uint32(0); - SendPacket(&data); - } - } - else + if (_player->m_mover->GetGUID() != guid) { sLog->outError("HandleSetActiveMoverOpcode: incorrect mover guid: mover is " UI64FMTD " (%s - Entry: %u) and should be " UI64FMTD, guid, GetLogNameForGuid(guid), GUID_ENPART(guid), _player->m_mover->GetGUID()); GetPlayer()->SetMover(GetPlayer()); |
