Module: wine Branch: master Commit: c8da5149d0c14efc3d30f2bb25e44d65a1cdb6e4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c8da5149d0c14efc3d30f2bb25...
Author: Paul Vriens paul.vriens.wine@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"); }