wintrust: Don't assume dwStateAction is set in WINTRUST_DATA.
This commit is contained in:
parent
1a1a2187de
commit
61077035fc
|
@ -381,6 +381,8 @@ LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, LPVOID ActionData )
|
||||||
err = WINTRUST_PublishedSoftware(hwnd, ActionID, ActionData);
|
err = WINTRUST_PublishedSoftware(hwnd, ActionID, ActionData);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
DWORD stateAction;
|
||||||
|
|
||||||
/* Check known actions to warn of possible problems */
|
/* Check known actions to warn of possible problems */
|
||||||
if (!IsEqualGUID(ActionID, &unknown) &&
|
if (!IsEqualGUID(ActionID, &unknown) &&
|
||||||
!IsEqualGUID(ActionID, &generic_verify_v2) &&
|
!IsEqualGUID(ActionID, &generic_verify_v2) &&
|
||||||
|
@ -388,7 +390,14 @@ LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, LPVOID ActionData )
|
||||||
!IsEqualGUID(ActionID, &generic_chain_verify))
|
!IsEqualGUID(ActionID, &generic_chain_verify))
|
||||||
WARN("unknown action %s, default behavior may not be right\n",
|
WARN("unknown action %s, default behavior may not be right\n",
|
||||||
debugstr_guid(ActionID));
|
debugstr_guid(ActionID));
|
||||||
switch (actionData->dwStateAction)
|
if (WVT_ISINSTRUCT(WINTRUST_DATA, actionData->cbStruct, dwStateAction))
|
||||||
|
stateAction = actionData->dwStateAction;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TRACE("no dwStateAction, assuming WTD_STATEACTION_IGNORE\n");
|
||||||
|
stateAction = WTD_STATEACTION_IGNORE;
|
||||||
|
}
|
||||||
|
switch (stateAction)
|
||||||
{
|
{
|
||||||
case WTD_STATEACTION_IGNORE:
|
case WTD_STATEACTION_IGNORE:
|
||||||
err = WINTRUST_DefaultVerifyAndClose(hwnd, ActionID, ActionData);
|
err = WINTRUST_DefaultVerifyAndClose(hwnd, ActionID, ActionData);
|
||||||
|
|
Loading…
Reference in New Issue