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