aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIntel <chemicstry@gmail.com>2014-12-29 21:39:33 +0200
committerIntel <chemicstry@gmail.com>2014-12-29 21:39:33 +0200
commit6b10271891d2cbafbad1446051fcf3866ea728e3 (patch)
tree6efbb2d3c4b90f17b903a637f086b05cc5cc63ca /src
parent0a7caf5a6df0f6d1fbb753943c4a88ecb4d92b2e (diff)
Core/Quests: Fixed WPE exploit that allowed to accept any quest
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index 851e6e89e97..08345bc59d7 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -455,6 +455,12 @@ void WorldSession::HandleQuestConfirmAccept(WorldPacket& recvData)
if (!_player->IsInSameRaidWith(originalPlayer))
return;
+ if (!!originalPlayer->CanShareQuest(questId))
+ return;
+
+ if (!_player->CanTakeQuest(quest, true))
+ return;
+
if (_player->CanAddQuest(quest, true))
_player->AddQuestAndCheckCompletion(quest, NULL); // NULL, this prevent DB script from duplicate running