From befce84f4c9d417253010ff6d270314ec4fff48d Mon Sep 17 00:00:00 2001 From: Juan Lang <juan.lang@gmail.com> Date: Sat, 24 Jan 2009 13:08:21 -0800 Subject: [PATCH] crypt32: Close file when appropriate in CertSaveStore. --- dlls/crypt32/serialize.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/crypt32/serialize.c b/dlls/crypt32/serialize.c index af364413748..4548ce650eb 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; } -- GitLab