APPLINK-5004; APPLINK-5005 WebSocket big msg fix
authorDmitry Klimenko <DKlimenko@luxoft.com>
Tue, 18 Mar 2014 09:57:11 +0000 (02:57 -0700)
committerJustin Dickow <jjdickow@gmail.com>
Tue, 8 Jul 2014 21:42:01 +0000 (17:42 -0400)
src/thirdPartyLibs/MessageBroker/src/server/mb_tcpserver.cpp

index 4a96df0..f9800e8 100644 (file)
@@ -66,11 +66,13 @@ namespace NsMessageBroker
       ssize_t nb = -1;
 
       std::string* pReceivingBuffer = getBufferFor(fd);
-      std::vector<char> buf(RECV_BUFFER_LENGTH + pReceivingBuffer->size());
+      std::vector<char> buf;
+      buf.reserve(RECV_BUFFER_LENGTH + pReceivingBuffer->size());
       DBG_MSG(("Left in  pReceivingBuffer: %d : %s\n",
           pReceivingBuffer->size(), pReceivingBuffer->c_str()));
       buf.assign(pReceivingBuffer->c_str(),
                  pReceivingBuffer->c_str() + pReceivingBuffer->size());
+      buf.resize(RECV_BUFFER_LENGTH + pReceivingBuffer->size());
       nb = recv(fd, &buf[pReceivingBuffer->size()], MAX_RECV_DATA, 0);
       DBG_MSG(("Recieved %d from %d\n", nb, fd));
       nb += pReceivingBuffer->size();