فهرست منبع

Fix small bugs in SChannelConnection::decrypt

And it seems like I can connect to google now
Bart van Strien 6 سال پیش
والد
کامیت
d00b6b7891
1فایلهای تغییر یافته به همراه7 افزوده شده و 0 حذف شده
  1. 7 0
      src/windows/SChannelConnection.cpp

+ 7 - 0
src/windows/SChannelConnection.cpp

@@ -255,13 +255,20 @@ size_t SChannelConnection::read(char *buffer, size_t size)
 
 size_t SChannelConnection::decrypt(char *buffer, size_t size, bool recurse)
 {
+	if (size == 0)
+		return 0;
+
 	SecBuffer secBuffers[4];
 	secBuffers[0].cbBuffer = size;
 	secBuffers[0].BufferType = SECBUFFER_DATA;
 	secBuffers[0].pvBuffer = buffer;
 
 	for (size_t i = 1; i < 4; ++i)
+	{
 		secBuffers[i].BufferType = SECBUFFER_EMPTY;
+		secBuffers[i].pvBuffer = nullptr;
+		secBuffers[i].cbBuffer = 0;
+	}
 
 	SecBufferDesc secBufferDesc;
 	secBufferDesc.ulVersion = SECBUFFER_VERSION;