aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2017-05-05 14:23:03 +0200
committerShauren <shauren.trinity@gmail.com>2017-05-05 14:23:03 +0200
commit65190eb5e2da24457f42f7c44092054dbe46d251 (patch)
treef50f2dd2d03af84253181241c9deeaf9ffdd07dd /src/server/game/Server
parent272d2a29e5e581c0d447ef55e5a3834e366fd282 (diff)
Core/PacketIO: Fixed structures of CMSG_AUCTION_SELL_ITEM and CMSG_AUCTION_LIST_BIDDER_ITEMS - FlushBits() should never be used by client packets, use ResetBitPos() instead
Closes #19481
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.cpp10
-rw-r--r--src/server/game/Server/Packets/AuctionHousePackets.h2
2 files changed, 5 insertions, 7 deletions
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp
index abc5d20ae90..56c38d5d18e 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.cpp
+++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp
@@ -138,15 +138,13 @@ void WorldPackets::AuctionHouse::AuctionSellItem::Read()
_worldPacket >> BuyoutPrice;
_worldPacket >> RunTime;
- uint8 ItemsCount = _worldPacket.ReadBits(5);
- _worldPacket.FlushBits();
+ Items.resize(_worldPacket.ReadBits(5));
+ _worldPacket.ResetBitPos();
- for (uint8 i = 0; i < ItemsCount; i++)
+ for (WorldPackets::AuctionHouse::AuctionSellItem::AuctionItemForSale& item : Items)
{
- WorldPackets::AuctionHouse::AuctionSellItem::AuctionItemForSale item;
_worldPacket >> item.Guid;
_worldPacket >> item.UseCount;
- Items.emplace_back(item);
}
}
@@ -162,7 +160,7 @@ void WorldPackets::AuctionHouse::AuctionListBidderItems::Read()
_worldPacket >> Auctioneer;
_worldPacket >> Offset;
uint8 auctionItemIDsCount = _worldPacket.ReadBits(7);
- _worldPacket.FlushBits();
+ _worldPacket.ResetBitPos();
for (uint8 i = 0; i < auctionItemIDsCount; i++)
{
diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h
index 6f3a908c4b8..17d7ee89e56 100644
--- a/src/server/game/Server/Packets/AuctionHousePackets.h
+++ b/src/server/game/Server/Packets/AuctionHousePackets.h
@@ -133,7 +133,7 @@ namespace WorldPackets
ObjectGuid Auctioneer;
uint64 MinBid = 0;
uint32 RunTime = 0;
- std::vector<AuctionItemForSale> Items;
+ Array<AuctionItemForSale, 32> Items;
};
class AuctionPlaceBid final : public ClientPacket