Nikolay Sivov : crypt32: Fix output buffer handling for CRYPT_STRING_BINARY case.

Alexandre Julliard julliard at winehq.org
Wed Sep 26 14:22:32 CDT 2018


Module: wine
Branch: master
Commit: 5652a19110caa451f1ba0d1c8252fc278d81f7e7
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=5652a19110caa451f1ba0d1c8252fc278d81f7e7

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Wed Sep 26 13:09:53 2018 +0300

crypt32: Fix output buffer handling for CRYPT_STRING_BINARY case.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/crypt32/base64.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/dlls/crypt32/base64.c b/dlls/crypt32/base64.c
index e25e4c1..5caab97 100644
--- a/dlls/crypt32/base64.c
+++ b/dlls/crypt32/base64.c
@@ -77,23 +77,20 @@ static BOOL EncodeBinaryToBinaryA(const BYTE *pbBinary,
 {
     BOOL ret = TRUE;
 
-    if (*pcchString < cbBinary)
+    if (pszString)
     {
-        if (!pszString)
-            *pcchString = cbBinary;
-        else
+        if (*pcchString < cbBinary)
         {
             SetLastError(ERROR_INSUFFICIENT_BUFFER);
-            *pcchString = cbBinary;
             ret = FALSE;
         }
-    }
-    else
-    {
-        if (cbBinary)
+        else if (cbBinary)
             memcpy(pszString, pbBinary, cbBinary);
-        *pcchString = cbBinary;
     }
+    else
+
+    *pcchString = cbBinary;
+
     return ret;
 }
 




More information about the wine-cvs mailing list