[PATCH 2/3] crypt32: Fix CryptBinaryToString return value on short base64 buffer.

Jeff Smith whydoubt at gmail.com
Wed Oct 9 12:53:54 CDT 2019


Signed-off-by: Jeff Smith <whydoubt at gmail.com>
---
 dlls/crypt32/base64.c       | 4 ++--
 dlls/crypt32/tests/base64.c | 2 --
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/dlls/crypt32/base64.c b/dlls/crypt32/base64.c
index d158c1aceb..acd05ec1a5 100644
--- a/dlls/crypt32/base64.c
+++ b/dlls/crypt32/base64.c
@@ -240,7 +240,7 @@ static BOOL BinaryToBase64A(const BYTE *pbBinary,
         else
         {
             *pcchString = charsNeeded;
-            SetLastError(ERROR_INSUFFICIENT_BUFFER);
+            SetLastError(ERROR_MORE_DATA);
             ret = FALSE;
         }
     }
@@ -460,7 +460,7 @@ static BOOL BinaryToBase64W(const BYTE *pbBinary,
         else
         {
             *pcchString = charsNeeded;
-            SetLastError(ERROR_INSUFFICIENT_BUFFER);
+            SetLastError(ERROR_MORE_DATA);
             ret = FALSE;
         }
     }
diff --git a/dlls/crypt32/tests/base64.c b/dlls/crypt32/tests/base64.c
index 3668543048..f2d16735ab 100644
--- a/dlls/crypt32/tests/base64.c
+++ b/dlls/crypt32/tests/base64.c
@@ -134,7 +134,6 @@ static void encodeAndCompareBase64_A(const BYTE *toEncode, DWORD toEncodeLen,
     strLen2 = strLen - 1;
     str[0] = 0x12;
     ret = CryptBinaryToStringA(toEncode, toEncodeLen, format, str, &strLen2);
-todo_wine
     ok((!ret && GetLastError() == ERROR_MORE_DATA) || broken(ret) /* XP */, "CryptBinaryToStringA failed %d, error %d.\n",
         ret, GetLastError());
     ok(strLen2 == strLen || broken(strLen2 == strLen - 1), "Expected length %d, got %d\n", strLen, strLen2);
@@ -207,7 +206,6 @@ static void encode_compare_base64_W(const BYTE *toEncode, DWORD toEncodeLen, DWO
     strLen2 = strLen - 1;
     strW[0] = 0x1234;
     ret = CryptBinaryToStringW(toEncode, toEncodeLen, format, strW, &strLen2);
-todo_wine
     ok((!ret && GetLastError() == ERROR_MORE_DATA) || broken(ret) /* XP */, "CryptBinaryToStringW failed, %d, error %d\n",
         ret, GetLastError());
     if (headerW)
-- 
2.21.0




More information about the wine-devel mailing list