diff --git a/src/common/network/NetRPC.cpp b/src/common/network/NetRPC.cpp index 3368d3ea..b34b10a6 100644 --- a/src/common/network/NetRPC.cpp +++ b/src/common/network/NetRPC.cpp @@ -98,6 +98,12 @@ void NetRPC::clock(uint32_t ms) udp::Socket::address(address).c_str(), udp::Socket::port(address), rpcHeader.getFunction(), rpcHeader.getMessageLength()); } + if (length < RPC_HEADER_LENGTH_BYTES + rpcHeader.getMessageLength()) { + LogError(LOG_NET, "NetRPC::clock(), message received from network is malformed! %u bytes != %u bytes", + RPC_HEADER_LENGTH_BYTES + rpcHeader.getMessageLength(), length); + return; + } + // copy message uint32_t messageLength = rpcHeader.getMessageLength(); UInt8Array message = std::unique_ptr(new uint8_t[messageLength]);