aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2014-06-26 23:11:12 +0200
committerjackpoz <giacomopoz@gmail.com>2014-06-26 23:11:12 +0200
commitc9a129708fd8904a680671b36e8ad67e94f417e3 (patch)
tree3c03b38e5c0e9a94aa024ebb8d7748c25db10df9
parent27f28552489bab153d5c4717ce48e31496b4c43f (diff)
Core/Mail: Fix exploit that allowed to send free emails
-rw-r--r--src/server/game/Handlers/MailHandler.cpp7
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);