Commit 506af920 authored by Mikko Rasa's avatar Mikko Rasa Committed by Alexandre Julliard

secur32: Fill a SECBUFFER_MISSING buffer if the message is not complete.

parent b335e947
...@@ -1244,6 +1244,15 @@ static SECURITY_STATUS SEC_ENTRY schan_DecryptMessage(PCtxtHandle context_handle ...@@ -1244,6 +1244,15 @@ static SECURITY_STATUS SEC_ENTRY schan_DecryptMessage(PCtxtHandle context_handle
if(buffer->cbBuffer < expected_size) if(buffer->cbBuffer < expected_size)
{ {
TRACE("Expected %u bytes, but buffer only contains %u bytes\n", expected_size, buffer->cbBuffer); TRACE("Expected %u bytes, but buffer only contains %u bytes\n", expected_size, buffer->cbBuffer);
buffer->BufferType = SECBUFFER_MISSING;
buffer->cbBuffer = expected_size - buffer->cbBuffer;
/* This is a bit weird, but windows does it too */
idx = schan_find_sec_buffer_idx(message, 0, SECBUFFER_EMPTY);
buffer = &message->pBuffers[idx];
buffer->BufferType = SECBUFFER_MISSING;
buffer->cbBuffer = expected_size - buffer->cbBuffer;
TRACE("Returning SEC_E_INCOMPLETE_MESSAGE\n"); TRACE("Returning SEC_E_INCOMPLETE_MESSAGE\n");
return SEC_E_INCOMPLETE_MESSAGE; return SEC_E_INCOMPLETE_MESSAGE;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment