Juan Lang : crypt32: Close file when appropriate in CertSaveStore.

Alexandre Julliard julliard at winehq.org
Tue Jan 27 09:06:54 CST 2009


Module: wine
Branch: master
Commit: befce84f4c9d417253010ff6d270314ec4fff48d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=befce84f4c9d417253010ff6d270314ec4fff48d

Author: Juan Lang <juan.lang at 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;
 }




More information about the wine-cvs mailing list