fix(Core/MovementHandler): fix crash at null guid in mover (#2426)
This commit is contained in:
@@ -319,22 +319,25 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
|
|||||||
|
|
||||||
recvData.readPackGUID(guid);
|
recvData.readPackGUID(guid);
|
||||||
|
|
||||||
|
// pussywizard: typical check for incomming movement packets
|
||||||
|
if (!mover || !mover->IsInWorld() || mover->IsDuringRemoveFromWorld() || guid != mover->GetGUID())
|
||||||
|
{
|
||||||
|
recvData.rfinish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
MovementInfo movementInfo;
|
MovementInfo movementInfo;
|
||||||
movementInfo.guid = guid;
|
movementInfo.guid = guid;
|
||||||
ReadMovementInfo(recvData, &movementInfo);
|
ReadMovementInfo(recvData, &movementInfo);
|
||||||
|
|
||||||
recvData.rfinish(); // prevent warnings spam
|
|
||||||
|
|
||||||
// pussywizard: typical check for incomming movement packets
|
|
||||||
if (!mover || !mover->IsInWorld() || mover->IsDuringRemoveFromWorld() || guid != mover->GetGUID())
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!movementInfo.pos.IsPositionValid())
|
if (!movementInfo.pos.IsPositionValid())
|
||||||
{
|
{
|
||||||
recvData.rfinish(); // prevent warnings spam
|
recvData.rfinish(); // prevent warnings spam
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
recvData.rfinish(); // prevent warnings spam
|
||||||
|
|
||||||
if (movementInfo.flags & MOVEMENTFLAG_ONTRANSPORT)
|
if (movementInfo.flags & MOVEMENTFLAG_ONTRANSPORT)
|
||||||
{
|
{
|
||||||
// T_POS ON VEHICLES!
|
// T_POS ON VEHICLES!
|
||||||
|
|||||||
Reference in New Issue
Block a user