diff options
| author | jackpoz <giacomopoz@gmail.com> | 2016-08-01 18:55:47 +0200 |
|---|---|---|
| committer | jackpoz <giacomopoz@gmail.com> | 2016-08-01 18:55:47 +0200 |
| commit | bcfa47c0514b51690a5dd222b3b1ac5f20379232 (patch) | |
| tree | 8920f038971d8d422dcf28b9f1c11aef406227fb /src/server/game/Handlers/GroupHandler.cpp | |
| parent | cf8276845d9a26542fb18ca2e56b4957b61e4c73 (diff) | |
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
Diffstat (limited to 'src/server/game/Handlers/GroupHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/GroupHandler.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp index 00d64cee59b..5ea81718a5d 100644 --- a/src/server/game/Handlers/GroupHandler.cpp +++ b/src/server/game/Handlers/GroupHandler.cpp @@ -82,6 +82,13 @@ void WorldSession::HandleGroupInviteOpcode(WorldPacket& recvData) return; } + // player trying to invite himself (most likely cheating) + if (player == GetPlayer()) + { + SendPartyResult(PARTY_OP_INVITE, membername, ERR_BAD_PLAYER_NAME_S); + return; + } + // restrict invite to GMs if (!sWorld->getBoolConfig(CONFIG_ALLOW_GM_GROUP) && !GetPlayer()->IsGameMaster() && player->IsGameMaster()) { @@ -176,6 +183,7 @@ void WorldSession::HandleGroupInviteOpcode(WorldPacket& recvData) } if (!group->AddInvite(player)) { + group->RemoveAllInvites(); delete group; return; } |
