aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-09-06 15:39:07 +0200
committerShauren <shauren.trinity@gmail.com>2020-09-06 15:39:07 +0200
commitb6ed0c78701b99366203d2c1d8e059895b805e6d (patch)
tree5243bdf2b3782e5136bf00181673177ccf931906 /src
parent18b3db71cd1891e0a79b1069c4334c345210cbf7 (diff)
Core/PacketIO: Fixed ByteBuffer auto-flush after b23190393248455f04d3a06def030a1ec7efad1e
Diffstat (limited to 'src')
-rw-r--r--src/server/shared/Packets/ByteBuffer.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/server/shared/Packets/ByteBuffer.cpp b/src/server/shared/Packets/ByteBuffer.cpp
index 997d1488c64..cd662066265 100644
--- a/src/server/shared/Packets/ByteBuffer.cpp
+++ b/src/server/shared/Packets/ByteBuffer.cpp
@@ -75,6 +75,8 @@ void ByteBuffer::append(uint8 const* src, size_t cnt)
ASSERT(cnt, "Attempted to put a zero-sized value in ByteBuffer (pos: " SZFMTD " size: " SZFMTD ")", _wpos, size());
ASSERT(size() < 10000000);
+ FlushBits();
+
size_t const newSize = _wpos + cnt;
if (_storage.capacity() < newSize) // custom memory allocation rules
{
@@ -88,7 +90,6 @@ void ByteBuffer::append(uint8 const* src, size_t cnt)
_storage.reserve(400000);
}
- FlushBits();
if (_storage.size() < newSize)
_storage.resize(newSize);
std::memcpy(&_storage[_wpos], src, cnt);