diff --git a/src/libraries/luahttps/src/windows/SChannelConnection.cpp b/src/libraries/luahttps/src/windows/SChannelConnection.cpp index 2d334c0b2..d2030906b 100644 --- a/src/libraries/luahttps/src/windows/SChannelConnection.cpp +++ b/src/libraries/luahttps/src/windows/SChannelConnection.cpp @@ -45,7 +45,8 @@ static void enqueue_prepend(std::vector &buffer, char *data, size_t size) { size_t oldSize = buffer.size(); buffer.resize(oldSize + size); - memmove(&buffer[size], &buffer[0], oldSize); + if (oldSize > 0) + memmove(&buffer[size], &buffer[0], oldSize); memcpy(&buffer[0], data, size); } @@ -61,6 +62,10 @@ static size_t dequeue(std::vector &buffer, char *data, size_t size) memmove(&buffer[0], &buffer[size], remaining); buffer.resize(remaining); } + else + { + buffer.resize(0); + } return size; }