Module: wine Branch: master Commit: a82b36ac9811dcec46f0db1967d4fec357522ff2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a82b36ac9811dcec46f0db1967...
Author: Juan Lang juan.lang@gmail.com Date: Thu Sep 6 09:59:19 2007 -0700
crypt32: Store world store in chain.
---
dlls/crypt32/chain.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/dlls/crypt32/chain.c b/dlls/crypt32/chain.c index c6b197a..ffaef45 100644 --- a/dlls/crypt32/chain.c +++ b/dlls/crypt32/chain.c @@ -203,6 +203,7 @@ void default_chain_engine_free(void) typedef struct _CertificateChain { CERT_CHAIN_CONTEXT context; + HCERTSTORE world; LONG ref; } CertificateChain, *PCertificateChain;
@@ -585,6 +586,7 @@ static BOOL CRYPT_BuildCandidateChainFromCert(HCERTCHAINENGINE hChainEngine, if (chain) { chain->ref = 1; + chain->world = world; chain->context.cbSize = sizeof(CERT_CHAIN_CONTEXT); memcpy(&chain->context.TrustStatus, &simpleChain->TrustStatus, sizeof(CERT_TRUST_STATUS)); @@ -600,7 +602,6 @@ static BOOL CRYPT_BuildCandidateChainFromCert(HCERTCHAINENGINE hChainEngine, ret = FALSE; *ppChain = chain; } - CertCloseStore(world, 0); return ret; }
@@ -663,6 +664,7 @@ static void CRYPT_FreeChainContext(PCertificateChain chain) for (i = 0; i < chain->context.cChain; i++) CRYPT_FreeSimpleChain(chain->context.rgpChain[i]); CryptMemFree(chain->context.rgpChain); + CertCloseStore(chain->world, 0); CryptMemFree(chain); }