Commit 91d5844f authored by Rob Shearman's avatar Rob Shearman Committed by Alexandre Julliard

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

parent 8e0f125f
...@@ -111,19 +111,32 @@ static LONG WINTRUST_DefaultVerify(HWND hwnd, GUID *actionID, ...@@ -111,19 +111,32 @@ static LONG WINTRUST_DefaultVerify(HWND hwnd, GUID *actionID,
provData->pgActionID = actionID; provData->pgActionID = actionID;
WintrustGetRegPolicyFlags(&provData->dwRegPolicySettings); WintrustGetRegPolicyFlags(&provData->dwRegPolicySettings);
err = provData->psPfns->pfnInitialize(provData); if (provData->psPfns->pfnInitialize)
if (err) {
goto done; err = provData->psPfns->pfnInitialize(provData);
err = provData->psPfns->pfnObjectTrust(provData); if (err)
if (err) goto done;
goto done; }
err = provData->psPfns->pfnSignatureTrust(provData); if (provData->psPfns->pfnObjectTrust)
if (err) {
goto done; err = provData->psPfns->pfnObjectTrust(provData);
err = provData->psPfns->pfnCertificateTrust(provData); if (err)
if (err) goto done;
goto done; }
err = provData->psPfns->pfnFinalPolicy(provData); 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; goto done;
oom: oom:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment