Juan Lang : cryptnet: Check number of contexts in CertDllVerifyRevocation.

Alexandre Julliard julliard at winehq.org
Fri Nov 20 10:47:59 CST 2009


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Thu Nov 19 10:13:04 2009 -0800

cryptnet: Check number of contexts in CertDllVerifyRevocation.

---

 dlls/cryptnet/cryptnet_main.c  |    5 +++++
 dlls/cryptnet/tests/cryptnet.c |    3 ---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/dlls/cryptnet/cryptnet_main.c b/dlls/cryptnet/cryptnet_main.c
index 8a803eb..3744e68 100644
--- a/dlls/cryptnet/cryptnet_main.c
+++ b/dlls/cryptnet/cryptnet_main.c
@@ -1467,6 +1467,11 @@ BOOL WINAPI CertDllVerifyRevocation(DWORD dwEncodingType, DWORD dwRevType,
         SetLastError(E_INVALIDARG);
         return FALSE;
     }
+    if (!cContext)
+    {
+        SetLastError(E_INVALIDARG);
+        return FALSE;
+    }
     memset(&pRevStatus->dwIndex, 0, pRevStatus->cbSize - sizeof(DWORD));
     if (dwRevType != CERT_CONTEXT_REVOCATION_TYPE)
     {
diff --git a/dlls/cryptnet/tests/cryptnet.c b/dlls/cryptnet/tests/cryptnet.c
index b7418e2..490e93a 100644
--- a/dlls/cryptnet/tests/cryptnet.c
+++ b/dlls/cryptnet/tests/cryptnet.c
@@ -506,19 +506,16 @@ static void test_verifyRevocation(void)
     }
     SetLastError(0xdeadbeef);
     ret = pCertVerifyRevocation(0, 0, 0, NULL, 0, NULL, &status);
-    todo_wine
     ok(!ret && GetLastError() == E_INVALIDARG,
      "expected E_INVALIDARG, got %08x\n", GetLastError());
     SetLastError(0xdeadbeef);
     ret = pCertVerifyRevocation(X509_ASN_ENCODING, 0, 0, NULL, 0, NULL,
      &status);
-    todo_wine
     ok(!ret && GetLastError() == E_INVALIDARG,
      "expected E_INVALIDARG, got %08x\n", GetLastError());
     SetLastError(0xdeadbeef);
     ret = pCertVerifyRevocation(0, CERT_CONTEXT_REVOCATION_TYPE, 0, NULL, 0,
      NULL, &status);
-    todo_wine
     ok(!ret && GetLastError() == E_INVALIDARG,
      "expected E_INVALIDARG, got %08x\n", GetLastError());
     certs[0] = CertCreateCertificateContext(X509_ASN_ENCODING, bigCert,




More information about the wine-cvs mailing list