[PATCH 2/3] crypt32: Fix output buffer handling for CRYPT_STRING_BINARY case.

Nikolay Sivov nsivov at codeweavers.com
Wed Sep 26 05:09:53 CDT 2018


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 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 e25e4c10ff..5caab97b17 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;
 }
 
-- 
2.19.0




More information about the wine-devel mailing list