Juan Lang : crypt32: Release contexts when removing them from the mem store .

Alexandre Julliard julliard at winehq.org
Wed Nov 4 10:26:25 CST 2009


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Fri Oct 30 18:48:22 2009 -0700

crypt32: Release contexts when removing them from the mem store.

---

 dlls/crypt32/store.c       |    6 +++---
 dlls/crypt32/tests/store.c |    1 +
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/crypt32/store.c b/dlls/crypt32/store.c
index a529ac6..deb0520 100644
--- a/dlls/crypt32/store.c
+++ b/dlls/crypt32/store.c
@@ -186,7 +186,7 @@ static BOOL CRYPT_MemDeleteCert(PWINECRYPT_CERTSTORE store, void *pCertContext)
     WINE_MEMSTORE *ms = (WINE_MEMSTORE *)store;
 
     ContextList_Delete(ms->certs, pCertContext);
-    return TRUE;
+    return CertFreeCertificateContext(pCertContext);
 }
 
 static BOOL CRYPT_MemAddCrl(PWINECRYPT_CERTSTORE store, void *crl,
@@ -227,7 +227,7 @@ static BOOL CRYPT_MemDeleteCrl(PWINECRYPT_CERTSTORE store, void *pCrlContext)
     WINE_MEMSTORE *ms = (WINE_MEMSTORE *)store;
 
     ContextList_Delete(ms->crls, pCrlContext);
-    return TRUE;
+    return CertFreeCRLContext(pCrlContext);
 }
 
 static BOOL CRYPT_MemAddCtl(PWINECRYPT_CERTSTORE store, void *ctl,
@@ -268,7 +268,7 @@ static BOOL CRYPT_MemDeleteCtl(PWINECRYPT_CERTSTORE store, void *pCtlContext)
     WINE_MEMSTORE *ms = (WINE_MEMSTORE *)store;
 
     ContextList_Delete(ms->ctls, pCtlContext);
-    return TRUE;
+    return CertFreeCTLContext(pCtlContext);
 }
 
 static void WINAPI CRYPT_MemCloseStore(HCERTSTORE hCertStore, DWORD dwFlags)
diff --git a/dlls/crypt32/tests/store.c b/dlls/crypt32/tests/store.c
index 419d2dd..1f6609c 100644
--- a/dlls/crypt32/tests/store.c
+++ b/dlls/crypt32/tests/store.c
@@ -237,6 +237,7 @@ static void testMemStore(void)
          GetLastError());
         /* try deleting a copy */
         ret = CertDeleteCertificateFromStore(copy);
+        todo_wine
         ok(ret, "CertDeleteCertificateFromStore failed: %08x\n",
          GetLastError());
         /* check that the store is empty */




More information about the wine-cvs mailing list