From 438870c75f826edcd89568418bc82c818931955d Mon Sep 17 00:00:00 2001 From: krcroft Date: Wed, 19 Feb 2020 07:57:36 -0800 Subject: [PATCH] Only resize the sendbuffer if needed --- src/hardware/serialport/misc_util.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/hardware/serialport/misc_util.cpp b/src/hardware/serialport/misc_util.cpp index aaedc695..0bc74b68 100644 --- a/src/hardware/serialport/misc_util.cpp +++ b/src/hardware/serialport/misc_util.cpp @@ -122,12 +122,9 @@ TCPClientSocket::TCPClientSocket(const char* destination, Bit16u port) TCPClientSocket::~TCPClientSocket() { - if(sendbuffer) - delete [] sendbuffer; + delete [] sendbuffer; #ifdef NATIVESOCKETS - if(nativetcpstruct) - delete nativetcpstruct; - else + delete nativetcpstruct; #endif if(mysock) { if(listensocketset) @@ -230,10 +227,12 @@ void TCPClientSocket::FlushBuffer() void TCPClientSocket::SetSendBufferSize(Bitu bufsize) { - if (sendbuffer) + // Only resize the buffer if needed + if (!sendbuffer || sendbuffersize != bufsize) { delete [] sendbuffer; - sendbuffer = new Bit8u[bufsize]; - sendbuffersize = bufsize; + sendbuffer = new Bit8u[bufsize]; + sendbuffersize = bufsize; + } sendbufferindex = 0; }