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