2
0
Эх сурвалжийг харах

windows: fix truncated body data returned from GET methods

slime 2 жил өмнө
parent
commit
6a6d6bd577

+ 6 - 1
src/windows/SChannelConnection.cpp

@@ -45,7 +45,8 @@ static void enqueue_prepend(std::vector<char> &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<char> &buffer, char *data, size_t size)
 		memmove(&buffer[0], &buffer[size], remaining);
 		buffer.resize(remaining);
 	}
+	else
+	{
+		buffer.resize(0);
+	}
 
 	return size;
 }