crypt32: Check the result of CryptAcquireContextW() when initializing default provider.
authorPaul Chitescu <paulc@voip.null.ro>
Fri, 6 Nov 2009 12:18:14 +0000 (14:18 +0200)
committerAlexander Morozov <amorozov@etersoft.ru>
Thu, 1 Jul 2010 13:18:08 +0000 (17:18 +0400)
dlls/crypt32/main.c

index d93163c19364753677f616e53af2c43ad75fbc99..1a5972fe843fbf7b7576e99220f4bbc06a9a82bf 100644 (file)
@@ -64,8 +64,9 @@ HCRYPTPROV CRYPT_GetDefaultProvider(void)
     {
         HCRYPTPROV prov;
 
-        CryptAcquireContextW(&prov, NULL, MS_ENHANCED_PROV_W, PROV_RSA_FULL,
-         CRYPT_VERIFYCONTEXT);
+        if (!CryptAcquireContextW(&prov, NULL, MS_ENHANCED_PROV_W, PROV_RSA_FULL,
+         CRYPT_VERIFYCONTEXT))
+            return hDefProv;
         InterlockedCompareExchangePointer((PVOID *)&hDefProv, (PVOID)prov,
          NULL);
         if (hDefProv != prov)