Core/Group: Do not allow a player to invite himself
Do not allow a player to invite himself in group. Fix an edge case when inviting another player that would cause a crash. Fix #17664 (cherry picked from commit bcfa47c0514b51690a5dd222b3b1ac5f20379232)
This commit is contained in:
@@ -69,6 +69,13 @@ void WorldSession::HandlePartyInviteOpcode(WorldPackets::Party::PartyInviteClien
|
||||
return;
|
||||
}
|
||||
|
||||
// player trying to invite himself (most likely cheating)
|
||||
if (player == GetPlayer())
|
||||
{
|
||||
SendPartyResult(PARTY_OP_INVITE, player->GetName(), ERR_BAD_PLAYER_NAME_S);
|
||||
return;
|
||||
}
|
||||
|
||||
// restrict invite to GMs
|
||||
if (!sWorld->getBoolConfig(CONFIG_ALLOW_GM_GROUP) && !GetPlayer()->IsGameMaster() && player->IsGameMaster())
|
||||
{
|
||||
@@ -160,6 +167,7 @@ void WorldSession::HandlePartyInviteOpcode(WorldPackets::Party::PartyInviteClien
|
||||
}
|
||||
if (!group->AddInvite(player))
|
||||
{
|
||||
group->RemoveAllInvites();
|
||||
delete group;
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user