aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDehravor <dehravor@gmail.com>2014-02-09 10:51:11 +0100
committerDehravor <dehravor@gmail.com>2014-02-09 10:51:11 +0100
commit916d84bdca52d04b8a808cc3e519ddc1ee3c2ffe (patch)
treea616b92805f9be6c2a6f11a9c25986ef47f1de41 /src
parentaaa4b3a1240b7b25a4050a7c6d3dc5184f3e581d (diff)
Core/Group: Add sanity checks to CMSG_LOOT_METHOD's handler
If lootMethod or lootThreshold is invalid, portrait menus become unusable to the entire raid.
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/GroupHandler.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp
index 6404d3c8e41..3b0ee4e24be 100644
--- a/src/server/game/Handlers/GroupHandler.cpp
+++ b/src/server/game/Handlers/GroupHandler.cpp
@@ -425,6 +425,12 @@ void WorldSession::HandleLootMethodOpcode(WorldPacket& recvData)
/** error handling **/
if (!group->IsLeader(GetPlayer()->GetGUID()))
return;
+
+ if (lootMethod > NEED_BEFORE_GREED)
+ return;
+
+ if (lootThreshold < ITEM_QUALITY_UNCOMMON || lootThreshold > ITEM_QUALITY_ARTIFACT)
+ return;
/********************/
// everything's fine, do it