diff --git a/src/network/core/udp.cpp b/src/network/core/udp.cpp --- a/src/network/core/udp.cpp +++ b/src/network/core/udp.cpp @@ -119,7 +119,8 @@ void NetworkUDPSocketHandler::ReceivePac struct sockaddr_storage client_addr; memset(&client_addr, 0, sizeof(client_addr)); - Packet p(this, SEND_MTU); + /* The limit is SEND_MTU, but also allocate that much as we need to read the whole packet in one go. */ + Packet p(this, SEND_MTU, SEND_MTU); socklen_t client_len = sizeof(client_addr); /* Try to receive anything */