Juan Lang : wintrust: Don't assume dwStateAction is set in WINTRUST_DATA.
Alexandre Julliard
julliard at winehq.org
Thu Sep 18 07:55:59 CDT 2008
Module: wine
Branch: master
Commit: 61077035fcbb9a21beea588d2c03c92350d43b57
URL: http://source.winehq.org/git/wine.git/?a=commit;h=61077035fcbb9a21beea588d2c03c92350d43b57
Author: Juan Lang <juan.lang at gmail.com>
Date: Wed Sep 17 16:15:34 2008 -0700
wintrust: Don't assume dwStateAction is set in WINTRUST_DATA.
---
dlls/wintrust/wintrust_main.c | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/dlls/wintrust/wintrust_main.c b/dlls/wintrust/wintrust_main.c
index ed6a8ed..e7b9af4 100644
--- a/dlls/wintrust/wintrust_main.c
+++ b/dlls/wintrust/wintrust_main.c
@@ -381,6 +381,8 @@ LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, LPVOID ActionData )
err = WINTRUST_PublishedSoftware(hwnd, ActionID, ActionData);
else
{
+ DWORD stateAction;
+
/* Check known actions to warn of possible problems */
if (!IsEqualGUID(ActionID, &unknown) &&
!IsEqualGUID(ActionID, &generic_verify_v2) &&
@@ -388,7 +390,14 @@ LONG WINAPI WinVerifyTrust( HWND hwnd, GUID *ActionID, LPVOID ActionData )
!IsEqualGUID(ActionID, &generic_chain_verify))
WARN("unknown action %s, default behavior may not be right\n",
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:
err = WINTRUST_DefaultVerifyAndClose(hwnd, ActionID, ActionData);
More information about the wine-cvs
mailing list