diff options
author | Intel <chemicstry@gmail.com> | 2014-12-29 21:39:33 +0200 |
---|---|---|
committer | Intel <chemicstry@gmail.com> | 2014-12-29 21:39:33 +0200 |
commit | 6b10271891d2cbafbad1446051fcf3866ea728e3 (patch) | |
tree | 6efbb2d3c4b90f17b903a637f086b05cc5cc63ca /src | |
parent | 0a7caf5a6df0f6d1fbb753943c4a88ecb4d92b2e (diff) |
Core/Quests: Fixed WPE exploit that allowed to accept any quest
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/QuestHandler.cpp | 6 |
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 |