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