wintrust: Check that provider functions are not NULL before using them.

This commit is contained in:
Rob Shearman 2008-04-23 20:10:14 +01:00 committed by Alexandre Julliard
parent 8e0f125f45
commit 91d5844f76
1 changed files with 26 additions and 13 deletions

View File

@ -111,19 +111,32 @@ static LONG WINTRUST_DefaultVerify(HWND hwnd, GUID *actionID,
provData->pgActionID = actionID;
WintrustGetRegPolicyFlags(&provData->dwRegPolicySettings);
err = provData->psPfns->pfnInitialize(provData);
if (err)
goto done;
err = provData->psPfns->pfnObjectTrust(provData);
if (err)
goto done;
err = provData->psPfns->pfnSignatureTrust(provData);
if (err)
goto done;
err = provData->psPfns->pfnCertificateTrust(provData);
if (err)
goto done;
err = provData->psPfns->pfnFinalPolicy(provData);
if (provData->psPfns->pfnInitialize)
{
err = provData->psPfns->pfnInitialize(provData);
if (err)
goto done;
}
if (provData->psPfns->pfnObjectTrust)
{
err = provData->psPfns->pfnObjectTrust(provData);
if (err)
goto done;
}
if (provData->psPfns->pfnSignatureTrust)
{
err = provData->psPfns->pfnSignatureTrust(provData);
if (err)
goto done;
}
if (provData->psPfns->pfnCertificateTrust)
{
err = provData->psPfns->pfnCertificateTrust(provData);
if (err)
goto done;
}
if (provData->psPfns->pfnFinalPolicy)
err = provData->psPfns->pfnFinalPolicy(provData);
goto done;
oom: