summaryrefslogtreecommitdiff
path: root/src/network/core/tcp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/core/tcp.cpp')
-rw-r--r--src/network/core/tcp.cpp5
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) {