diff options
author | jackpoz <giacomopoz@gmail.com> | 2014-06-26 23:11:12 +0200 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2014-06-26 23:11:12 +0200 |
commit | c9a129708fd8904a680671b36e8ad67e94f417e3 (patch) | |
tree | 3c03b38e5c0e9a94aa024ebb8d7748c25db10df9 | |
parent | 27f28552489bab153d5c4717ce48e31496b4c43f (diff) |
Core/Mail: Fix exploit that allowed to send free emails
-rw-r--r-- | src/server/game/Handlers/MailHandler.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp index 10ef7810d1d..326d198903e 100644 --- a/src/server/game/Handlers/MailHandler.cpp +++ b/src/server/game/Handlers/MailHandler.cpp @@ -131,6 +131,13 @@ void WorldSession::HandleSendMail(WorldPacket& recvData) uint32 reqmoney = cost + money; + // Check for overflow + if (reqmoney < money) + { + player->SendMailResult(0, MAIL_SEND, MAIL_ERR_NOT_ENOUGH_MONEY); + return; + } + if (!player->HasEnoughMoney(reqmoney) && !player->IsGameMaster()) { player->SendMailResult(0, MAIL_SEND, MAIL_ERR_NOT_ENOUGH_MONEY); |