diff options
Diffstat (limited to 'src/network/core/tcp.cpp')
-rw-r--r-- | src/network/core/tcp.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/network/core/tcp.cpp b/src/network/core/tcp.cpp index 3f59efba9..c35b029a2 100644 --- a/src/network/core/tcp.cpp +++ b/src/network/core/tcp.cpp @@ -63,6 +63,11 @@ void NetworkTCPSocketHandler::Send_Packet(Packet *packet) packet->PrepareToSend(); + /* Reallocate the packet as in 99+% of the times we send at most 25 bytes and + * keeping the other 1400+ bytes wastes memory, especially when someone tries + * to do a denial of service attack! */ + packet->buffer = ReallocT(packet->buffer, packet->size); + /* Locate last packet buffered for the client */ p = this->packet_queue; if (p == NULL) { |