Dmitry Timoshkov : advapi32: CryptAcquireContext(CRYPT_DELETEKEYSET) should set returned provider handle to 0.

Alexandre Julliard julliard at winehq.org
Tue Mar 12 16:56:16 CDT 2019


Module: wine
Branch: master
Commit: cd5c9a2bed6bd62f0f81ae262c0ca32b0d56f62f
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=cd5c9a2bed6bd62f0f81ae262c0ca32b0d56f62f

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Tue Mar 12 15:19:11 2019 +0800

advapi32: CryptAcquireContext(CRYPT_DELETEKEYSET) should set returned provider handle to 0.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 ab1e598..59b2971 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 4653f33..adc9c16 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);
 }
 




More information about the wine-cvs mailing list