Henri Verbeet : secur32: Handle padding only records in schan_DecryptMessage().
Alexandre Julliard
julliard at winehq.org
Tue Jun 26 13:34:15 CDT 2012
Module: wine
Branch: master
Commit: e2bd967a856e52251c4ea12cd5413637a8c5d405
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e2bd967a856e52251c4ea12cd5413637a8c5d405
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Tue Jun 26 15:32:06 2012 +0200
secur32: Handle padding only records in schan_DecryptMessage().
---
dlls/secur32/schannel.c | 15 +++++----------
1 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/dlls/secur32/schannel.c b/dlls/secur32/schannel.c
index 253e71a..2339b73 100644
--- a/dlls/secur32/schannel.c
+++ b/dlls/secur32/schannel.c
@@ -1080,23 +1080,18 @@ static SECURITY_STATUS SEC_ENTRY schan_DecryptMessage(PCtxtHandle context_handle
{
SIZE_T length = data_size - received;
SECURITY_STATUS status = schan_imp_recv(ctx->session, data + received, &length);
+
if (status == SEC_I_CONTINUE_NEEDED)
- {
- if (!received)
- {
- HeapFree(GetProcessHeap(), 0, data);
- TRACE("Returning SEC_E_INCOMPLETE_MESSAGE\n");
- return SEC_E_INCOMPLETE_MESSAGE;
- }
break;
- }
- else if (status != SEC_E_OK)
+
+ if (status != SEC_E_OK)
{
HeapFree(GetProcessHeap(), 0, data);
ERR("Returning %d\n", status);
return status;
}
- else if (!length)
+
+ if (!length)
break;
received += length;
More information about the wine-cvs
mailing list