[PATCH 1/5] secur32: Handle padding only records in schan_DecryptMessage().
Henri Verbeet
hverbeet at codeweavers.com
Tue Jun 26 08:32:06 CDT 2012
The case where the input data is incomplete is already handled above.
---
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;
--
1.7.3.4
More information about the wine-patches
mailing list