Module: wine Branch: master Commit: 16dc83578a97eb68c739d8ee8fb7611b3b4fe3b4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=16dc83578a97eb68c739d8ee8f...
Author: Johan Gill johan.gill@gmail.com Date: Tue Feb 14 12:15:04 2012 +0100
advapi32: CryptCreateHash actually sets ERROR_INVALID_PARAMETER if the CSP handle is 0.
---
dlls/advapi32/crypt.c | 7 +------ dlls/advapi32/tests/crypt.c | 3 +++ 2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/dlls/advapi32/crypt.c b/dlls/advapi32/crypt.c index 31260a8..5f44728 100644 --- a/dlls/advapi32/crypt.c +++ b/dlls/advapi32/crypt.c @@ -720,12 +720,7 @@ BOOL WINAPI CryptCreateHash (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey,
TRACE("(0x%lx, 0x%x, 0x%lx, %08x, %p)\n", hProv, Algid, hKey, dwFlags, phHash);
- if (!prov) - { - SetLastError(ERROR_INVALID_HANDLE); - return FALSE; - } - if (!phHash || prov->dwMagic != MAGIC_CRYPTPROV || + if (!prov || !phHash || prov->dwMagic != MAGIC_CRYPTPROV || (key && key->dwMagic != MAGIC_CRYPTKEY)) { SetLastError(ERROR_INVALID_PARAMETER); diff --git a/dlls/advapi32/tests/crypt.c b/dlls/advapi32/tests/crypt.c index dae7263..7abf90b 100644 --- a/dlls/advapi32/tests/crypt.c +++ b/dlls/advapi32/tests/crypt.c @@ -238,6 +238,9 @@ static void test_incorrect_api_usage(void) if (!result) return; pCryptDestroyHash(hHash);
+ result = pCryptCreateHash(0, CALG_SHA, 0, 0, &hHash); + ok (!result && GetLastError() == ERROR_INVALID_PARAMETER, "%d\n", GetLastError()); + result = pCryptGenKey(0, CALG_RC4, 0, &hKey); ok (!result && GetLastError() == ERROR_INVALID_PARAMETER, "%d\n", GetLastError());