From 9ac19fd7904b0778c5c6fcd443a3f4a65e2e9435 Mon Sep 17 00:00:00 2001 From: robinsch Date: Mon, 5 Dec 2022 10:16:38 +0100 Subject: [PATCH] Core/Guild: Fixed possible guild exploit (#28577) * Core/Guild: Fixed possible guild exploit * Core/Guild: Do not process HandleGuildDeclineOpcode if player is in guild (cherry picked from commit 036c72327f50af5f231c5ec8cc69af7db7f4aaa8) --- src/server/game/Handlers/GuildHandler.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/server/game/Handlers/GuildHandler.cpp b/src/server/game/Handlers/GuildHandler.cpp index 7aa0c5143a2..d4f89cf2dae 100644 --- a/src/server/game/Handlers/GuildHandler.cpp +++ b/src/server/game/Handlers/GuildHandler.cpp @@ -69,8 +69,10 @@ void WorldSession::HandleGuildAcceptInvite(WorldPackets::Guild::AcceptGuildInvit void WorldSession::HandleGuildDeclineInvitation(WorldPackets::Guild::GuildDeclineInvitation& /*decline*/) { + if (GetPlayer()->GetGuildId()) + return; + GetPlayer()->SetGuildIdInvited(UI64LIT(0)); - GetPlayer()->SetInGuild(UI64LIT(0)); } void WorldSession::HandleGuildGetRoster(WorldPackets::Guild::GuildGetRoster& /*packet*/)