crypt32: correct CryptAcquireContext initialization
Kees Cook
kees at outflux.net
Fri May 20 17:27:54 CDT 2005
This will fix the crypt32 protectdata.c test runs when a user hasn't had
a new context created before.
ChangeLog:
Correct crypt context init in CryptProtectData/CryptUnprotectData.
--
Kees Cook @outflux.net
-------------- next part --------------
Index: dlls/crypt32/protectdata.c
===================================================================
RCS file: /home/wine/wine/dlls/crypt32/protectdata.c,v
retrieving revision 1.4
diff -u -p -r1.4 protectdata.c
--- dlls/crypt32/protectdata.c 20 May 2005 19:23:48 -0000 1.4
+++ dlls/crypt32/protectdata.c 20 May 2005 22:23:42 -0000
@@ -861,7 +861,8 @@ BOOL WINAPI CryptProtectData(DATA_BLOB*
szDataDescr=(WCHAR[]){'\0'};
/* get crypt context */
- if (!CryptAcquireContextW(&hProv,NULL,NULL,CRYPT32_PROTECTDATA_PROV,0))
+ if (!CryptAcquireContextW(&hProv,NULL,NULL,CRYPT32_PROTECTDATA_PROV,0) &&
+ !CryptAcquireContextW(&hProv,NULL,NULL,CRYPT32_PROTECTDATA_PROV,CRYPT_NEWKEYSET))
{
ERR("CryptAcquireContextW failed\n");
goto finished;
@@ -1042,7 +1043,8 @@ BOOL WINAPI CryptUnprotectData(DATA_BLOB
}
/* get a crypt context */
- if (!CryptAcquireContextW(&hProv,NULL,NULL,CRYPT32_PROTECTDATA_PROV,0))
+ if (!CryptAcquireContextW(&hProv,NULL,NULL,CRYPT32_PROTECTDATA_PROV,0) &&
+ !CryptAcquireContextW(&hProv,NULL,NULL,CRYPT32_PROTECTDATA_PROV,CRYPT_NEWKEYSET))
{
ERR("CryptAcquireContextW failed\n");
goto free_protect_data;
More information about the wine-patches
mailing list