From 8ea4fffb987d6a0ad1f8a5428dc5623f73f44668 Mon Sep 17 00:00:00 2001 From: Mike McCormack Date: Tue, 14 Sep 2004 17:43:41 +0000 Subject: [PATCH] Make sure not to interfere with the lasterror value returned by the CSP in CryptAcquireContextA. --- dlls/advapi32/crypt.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/dlls/advapi32/crypt.c b/dlls/advapi32/crypt.c index ef70ef6d910..ba38f6581fb 100644 --- a/dlls/advapi32/crypt.c +++ b/dlls/advapi32/crypt.c @@ -478,14 +478,20 @@ BOOL WINAPI CryptAcquireContextA (HCRYPTPROV *phProv, LPCSTR pszContainer, error: if (pProv) { - FreeLibrary(pProv->hModule); - CRYPT_Free(pProv->pVTable); - CRYPT_Free(pProv->pFuncs); + if (pProv->hModule) + FreeLibrary(pProv->hModule); + if (pProv->pVTable) + CRYPT_Free(pProv->pVTable); + if (pProv->pFuncs) + CRYPT_Free(pProv->pFuncs); CRYPT_Free(pProv); } - CRYPT_Free(provname); - CRYPT_Free(temp); - CRYPT_Free(imagepath); + if (provname) + CRYPT_Free(provname); + if (temp) + CRYPT_Free(temp); + if (imagepath) + CRYPT_Free(imagepath); return FALSE; }