[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