From: Hans Leidekker hans@codeweavers.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57117 --- dlls/advapi32/tests/crypt.c | 4 ++++ dlls/rsaenh/rsaenh.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/tests/crypt.c b/dlls/advapi32/tests/crypt.c index dfdcd0ce5ad..64067bea8ee 100644 --- a/dlls/advapi32/tests/crypt.c +++ b/dlls/advapi32/tests/crypt.c @@ -315,6 +315,10 @@ static void test_incorrect_api_usage(void) result = CryptGenKey(0, CALG_RC4, 0, &hKey); ok (!result && GetLastError() == ERROR_INVALID_PARAMETER, "%ld\n", GetLastError());
+ dwLen = 0; + SetLastError(0xdeadbeef); + result = CryptDecrypt(hKey, 0, FALSE, 0, &temp, &dwLen); + ok (result, "%lx\n", GetLastError()); dwLen = 0; SetLastError(0xdeadbeef); result = CryptDecrypt(hKey, 0, TRUE, 0, &temp, &dwLen); diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c index 7440aba7200..310982445cd 100644 --- a/dlls/rsaenh/rsaenh.c +++ b/dlls/rsaenh/rsaenh.c @@ -2763,7 +2763,7 @@ BOOL WINAPI RSAENH_CPDecrypt(HCRYPTPROV hProv, HCRYPTKEY hKey, HCRYPTHASH hHash, return FALSE; }
- if (!*pdwDataLen) + if (Final && !*pdwDataLen) { SetLastError(NTE_BAD_LEN); return FALSE;