Paul Vriens : crypt32: Input parameter checking.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Oct 31 05:43:04 CST 2006


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

Author: Paul Vriens <paul.vriens.wine at gmail.com>
Date:   Mon Oct 30 12:10:37 2006 +0100

crypt32: Input parameter checking.

---

 dlls/crypt32/sip.c       |    7 +++++++
 dlls/crypt32/tests/sip.c |   15 ++++++---------
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/dlls/crypt32/sip.c b/dlls/crypt32/sip.c
index 8fe4b07..87fcc07 100644
--- a/dlls/crypt32/sip.c
+++ b/dlls/crypt32/sip.c
@@ -383,6 +383,13 @@ BOOL WINAPI CryptSIPLoad
        (const GUID *pgSubject, DWORD dwFlags, SIP_DISPATCH_INFO *pSipDispatch)
 {
     FIXME("(%s %d %p) stub!\n", debugstr_guid(pgSubject), dwFlags, pSipDispatch);
+
+    if (!pgSubject || dwFlags != 0 || !pSipDispatch)
+    {
+        SetLastError(ERROR_INVALID_PARAMETER);
+        return FALSE;
+    }
+
     return FALSE;
 }
 
diff --git a/dlls/crypt32/tests/sip.c b/dlls/crypt32/tests/sip.c
index 231b852..e34221f 100644
--- a/dlls/crypt32/tests/sip.c
+++ b/dlls/crypt32/tests/sip.c
@@ -272,17 +272,15 @@ static void test_SIPLoad(void)
     SetLastError(0xdeadbeef);
     ret = CryptSIPLoad(NULL, 0, NULL);
     ok ( !ret, "Expected CryptSIPLoad to fail\n");
-    todo_wine
-        ok ( GetLastError() == ERROR_INVALID_PARAMETER,
-            "Expected ERROR_INVALID_PARAMETER, got 0x%08x\n", GetLastError());
+    ok ( GetLastError() == ERROR_INVALID_PARAMETER,
+        "Expected ERROR_INVALID_PARAMETER, got 0x%08x\n", GetLastError());
 
     /* Only pSipDispatch NULL */
     SetLastError(0xdeadbeef);
     ret = CryptSIPLoad(&subject, 0, NULL);
     ok ( !ret, "Expected CryptSIPLoad to fail\n");
-    todo_wine
-        ok ( GetLastError() == ERROR_INVALID_PARAMETER,
-            "Expected ERROR_INVALID_PARAMETER, got 0x%08x\n", GetLastError());
+    ok ( GetLastError() == ERROR_INVALID_PARAMETER,
+        "Expected ERROR_INVALID_PARAMETER, got 0x%08x\n", GetLastError());
 
     /* No NULLs, but nonexistent pgSubject */
     SetLastError(0xdeadbeef);
@@ -405,9 +403,8 @@ static void test_SIPLoad(void)
     sdi.pfGet = (pCryptSIPGetSignedDataMsg)0xdeadbeef;
     ret = CryptSIPLoad(&unknown, 1, &sdi);
     ok ( !ret, "Expected CryptSIPLoad to fail\n");
-    todo_wine
-        ok ( GetLastError() == ERROR_INVALID_PARAMETER,
-            "Expected ERROR_INVALID_PARAMETER, got 0x%08x\n", GetLastError());
+    ok ( GetLastError() == ERROR_INVALID_PARAMETER,
+        "Expected ERROR_INVALID_PARAMETER, got 0x%08x\n", GetLastError());
     ok( sdi.pfGet == (pCryptSIPGetSignedDataMsg)0xdeadbeef, "Expected no change to the function pointer\n");
 }
 




More information about the wine-cvs mailing list