summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2014-09-25 18:33:34 +0200
committermadmaxoft <github@xoft.cz>2014-09-25 18:36:10 +0200
commita518a83c258897d5f2e0d769aa7fce8c30befafb (patch)
tree684099f1b6d932ad59ebde438afbcac1a77cef08
parentHangingEntity: Silenced a crash. (diff)
downloadcuberite-a518a83c258897d5f2e0d769aa7fce8c30befafb.tar
cuberite-a518a83c258897d5f2e0d769aa7fce8c30befafb.tar.gz
cuberite-a518a83c258897d5f2e0d769aa7fce8c30befafb.tar.bz2
cuberite-a518a83c258897d5f2e0d769aa7fce8c30befafb.tar.lz
cuberite-a518a83c258897d5f2e0d769aa7fce8c30befafb.tar.xz
cuberite-a518a83c258897d5f2e0d769aa7fce8c30befafb.tar.zst
cuberite-a518a83c258897d5f2e0d769aa7fce8c30befafb.zip
-rw-r--r--src/Protocol/Protocol17x.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Protocol/Protocol17x.cpp b/src/Protocol/Protocol17x.cpp
index 67a4c47a7..73d2a74f9 100644
--- a/src/Protocol/Protocol17x.cpp
+++ b/src/Protocol/Protocol17x.cpp
@@ -1519,9 +1519,6 @@ void cProtocol172::AddReceivedData(const char * a_Data, size_t a_Size)
VERIFY(m_ReceivedData.ReadToByteBuffer(bb, (int)PacketLen));
m_ReceivedData.CommitRead();
- // Write one NUL extra, so that we can detect over-reads
- bb.Write("\0", 1);
-
UInt32 PacketType;
if (!bb.ReadVarInt(PacketType))
{
@@ -1529,6 +1526,9 @@ void cProtocol172::AddReceivedData(const char * a_Data, size_t a_Size)
break;
}
+ // Write one NUL extra, so that we can detect over-reads
+ bb.Write("\0", 1);
+
// Log the packet info into the comm log file:
if (g_ShouldLogCommIn)
{
@@ -1536,7 +1536,7 @@ void cProtocol172::AddReceivedData(const char * a_Data, size_t a_Size)
bb.ReadAll(PacketData);
bb.ResetRead();
bb.ReadVarInt(PacketType);
- ASSERT(PacketData.size() > 0);
+ ASSERT(PacketData.size() > 0); // We have written an extra NUL, so there had to be at least one byte read
PacketData.resize(PacketData.size() - 1);
AString PacketDataHex;
CreateHexDump(PacketDataHex, PacketData.data(), PacketData.size(), 16);