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 bcfa47c051)
This commit is contained in:
jackpoz
2016-08-01 18:55:47 +02:00
committed by joschiwald
parent 6326bf20f5
commit af11f48356

View File

@@ -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;
}