Module: wine Branch: master Commit: befce84f4c9d417253010ff6d270314ec4fff48d URL: http://source.winehq.org/git/wine.git/?a=commit;h=befce84f4c9d417253010ff6d2...
Author: Juan Lang juan.lang@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; }