diff --git a/src/network/networkpacket.cpp b/src/network/networkpacket.cpp index 2867c12a5..c99b987cf 100644 --- a/src/network/networkpacket.cpp +++ b/src/network/networkpacket.cpp @@ -552,6 +552,12 @@ NetworkPacket& NetworkPacket::operator<<(video::SColor src) Buffer NetworkPacket::oldForgePacket() { + // this is the dummy packet used to first contact the server + if (m_command == 0) { + assert(m_datasize == 0); + return Buffer(); + } + Buffer sb(m_datasize + 2); writeU16(&sb[0], m_command); if (m_datasize > 0) diff --git a/src/unittest/test_connection.cpp b/src/unittest/test_connection.cpp index ce7464fec..ea280f56b 100644 --- a/src/unittest/test_connection.cpp +++ b/src/unittest/test_connection.cpp @@ -277,8 +277,8 @@ void TestConnection::testConnectSendReceive() Simple send-receive test */ { - NetworkPacket pkt; - pkt.putRawPacket((u8*) "Hello World !", 14, 0); + NetworkPacket pkt(0x4b, 0); + pkt.putRawString("Hello World !", 14); auto sentdata = pkt.oldForgePacket(); @@ -306,9 +306,9 @@ void TestConnection::testConnectSendReceive() */ { const int datasize = 30000; - NetworkPacket pkt(0, datasize); + NetworkPacket pkt(0xff, datasize); for (u16 i=0; i(i/4); } infostream << "Sending data (size=" << datasize << "):";