diff options
author | Spp <spp@jorge.gr> | 2013-05-21 09:41:13 +0200 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2013-05-21 09:41:13 +0200 |
commit | 1b6fb2b6959f504d9e33d2326691cf43a04690d2 (patch) | |
tree | 31671ddd62612c27e1e821408956b9a8ff52a0ab /src/server/game/Handlers/AuctionHouseHandler.cpp | |
parent | 82dc639882d2d51a8bde9bcd47b773be435a5a12 (diff) | |
parent | 243c325ca4323feb4f7f80c0ecd3873c78cbf887 (diff) |
Merge branch 'master' into 4.3.4 [NOTE: There are parts of code marked as "REVIEW - MERGE" That needs some review)
Conflicts:
src/server/game/DataStores/DBCStores.cpp
src/server/game/DataStores/DBCStores.h
src/server/game/DataStores/DBCfmt.h
src/server/game/Entities/Unit/Unit.cpp
src/server/game/Entities/Unit/Unit.h
src/server/game/Handlers/AuctionHouseHandler.cpp
src/server/game/Handlers/GroupHandler.cpp
src/server/game/Movement/Spline/MovementTypedefs.h
src/server/game/Spells/Auras/SpellAuraEffects.cpp
src/server/game/Spells/SpellInfo.cpp
src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
src/server/scripts/Spells/spell_generic.cpp
Diffstat (limited to 'src/server/game/Handlers/AuctionHouseHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/AuctionHouseHandler.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp index 33316338c9e..3fc36cf6f7c 100644 --- a/src/server/game/Handlers/AuctionHouseHandler.cpp +++ b/src/server/game/Handlers/AuctionHouseHandler.cpp @@ -151,6 +151,7 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData) if (itemsCount > MAX_AUCTION_ITEMS) { SendAuctionCommandResult(NULL, AUCTION_SELL_ITEM, ERR_AUCTION_DATABASE_ERROR); + recvData.rfinish(); return; } @@ -159,8 +160,11 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData) recvData >> itemGUIDs[i]; recvData >> count[i]; - if (!itemGUIDs[i] || !count[i] || count[i] > 1000 ) + if (!itemGUIDs[i] || !count[i] || count[i] > 1000) + { + recvData.rfinish(); return; + } } recvData >> bid; @@ -170,6 +174,14 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData) if (!bid || !etime) return; + if (bid > MAX_MONEY_AMOUNT || buyout > MAX_MONEY_AMOUNT) + { + sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: HandleAuctionSellItem - Player %s (GUID %u) attempted to sell item with higher price than max gold amount.", _player->GetName().c_str(), _player->GetGUIDLow()); + SendAuctionCommandResult(NULL, AUCTION_SELL_ITEM, ERR_AUCTION_DATABASE_ERROR); + return; + } + + Creature* creature = GetPlayer()->GetNPCIfCanInteractWith(auctioneer, UNIT_NPC_FLAG_AUCTIONEER); if (!creature) { |