aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNayd <dnpd.dd@gmail.com>2015-01-31 20:12:57 +0000
committerNayd <dnpd.dd@gmail.com>2015-01-31 20:12:57 +0000
commitc87de730fae0914a5d0741365066007a46f9a469 (patch)
tree5d1499f0aeac4736a0c4f5c2961c478adad49812 /src
parent61eb65b073c1656a1c42debdfe0d9edd5be0bbe2 (diff)
Core/Quests: Fixed WPE exploit that allowed to accept any quest
(cherry picked from commit 6b10271891d2cbafbad1446051fcf3866ea728e3)
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 d6d7e3b9876..b6157d6eb94 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -458,6 +458,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