[PATCH 2/2] advapi32: CryptAcquireContext(CRYPT_DELETEKEYSET) should set returned provider handle to 0.
Dmitry Timoshkov
dmitry at baikal.ru
Tue Mar 12 02:19:11 CDT 2019
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
dlls/advapi32/crypt.c | 1 +
dlls/advapi32/tests/crypt.c | 2 --
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/dlls/advapi32/crypt.c b/dlls/advapi32/crypt.c
index ab1e5982da..59b2971b07 100644
--- a/dlls/advapi32/crypt.c
+++ b/dlls/advapi32/crypt.c
@@ -523,6 +523,7 @@ BOOL WINAPI CryptAcquireContextW (HCRYPTPROV *phProv, LPCWSTR pszContainer,
*/
if (dwFlags & CRYPT_DELETEKEYSET)
{
+ *phProv = 0;
pProv->dwMagic = 0;
FreeLibrary(pProv->hModule);
CRYPT_Free(provnameA);
diff --git a/dlls/advapi32/tests/crypt.c b/dlls/advapi32/tests/crypt.c
index 4653f33c90..adc9c1612f 100644
--- a/dlls/advapi32/tests/crypt.c
+++ b/dlls/advapi32/tests/crypt.c
@@ -273,7 +273,6 @@ static void test_incorrect_api_usage(void)
result = pCryptAcquireContextA(&hProv2, szBadKeySet, NULL, PROV_RSA_FULL,
CRYPT_DELETEKEYSET);
ok (result, "%d\n", GetLastError());
-todo_wine
ok (hProv2 == 0, "%ld\n", hProv2);
if (!result) return;
@@ -1183,7 +1182,6 @@ static void test_container_sd(void)
ret = CryptAcquireContextA(&prov, "winetest", "Microsoft Enhanced Cryptographic Provider v1.0",
PROV_RSA_FULL, CRYPT_MACHINE_KEYSET|CRYPT_DELETEKEYSET);
ok(ret, "got %u\n", GetLastError());
-todo_wine
ok(prov == 0, "got %ld\n", prov);
}
--
2.20.1
More information about the wine-devel
mailing list