From 9be43d671cfd50d8d6ef7b868368d86338665ffb Mon Sep 17 00:00:00 2001 From: slime Date: Sun, 4 Sep 2022 23:38:39 -0300 Subject: [PATCH] https: windows: fix truncated body data returned from GET methods --- src/libraries/luahttps/src/windows/SChannelConnection.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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; }