Module: wine Branch: master Commit: befce84f4c9d417253010ff6d270314ec4fff48d URL: http://source.winehq.org/git/wine.git/?a=commit;h=befce84f4c9d417253010ff6d2... Author: Juan Lang <juan.lang(a)gmail.com> Date: Sat Jan 24 13:08:21 2009 -0800 crypt32: Close file when appropriate in CertSaveStore. --- dlls/crypt32/serialize.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/dlls/crypt32/serialize.c b/dlls/crypt32/serialize.c index af36441..4548ce6 100644 --- a/dlls/crypt32/serialize.c +++ b/dlls/crypt32/serialize.c @@ -833,7 +833,7 @@ BOOL WINAPI CertSaveStore(HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, { BOOL (*saveFunc)(HCERTSTORE, DWORD, void *); void *handle; - BOOL ret; + BOOL ret, closeFile = TRUE; TRACE("(%p, %08x, %d, %d, %p, %08x)\n", hCertStore, dwMsgAndCertEncodingType, dwSaveAs, dwSaveTo, pvSaveToPara, dwFlags); @@ -861,6 +861,7 @@ BOOL WINAPI CertSaveStore(HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, { case CERT_STORE_SAVE_TO_FILE: handle = pvSaveToPara; + closeFile = FALSE; break; case CERT_STORE_SAVE_TO_FILENAME_A: handle = CreateFileA((LPCSTR)pvSaveToPara, GENERIC_WRITE, 0, NULL, @@ -879,6 +880,8 @@ BOOL WINAPI CertSaveStore(HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, return FALSE; } ret = saveFunc(hCertStore, dwMsgAndCertEncodingType, handle); + if (closeFile) + CloseHandle(handle); TRACE("returning %d\n", ret); return ret; }