Philip K. Gisslow : msi: Initialize all members of WINTRUST_DATA.
Module: wine Branch: master Commit: 904bedb3e96bc68101652e151db102532399abe8 URL: https://gitlab.winehq.org/wine/wine/-/commit/904bedb3e96bc68101652e151db1025... Author: Philip K. Gisslow <ripxorip(a)gmail.com> Date: Thu Jan 5 08:08:05 2023 +0100 msi: Initialize all members of WINTRUST_DATA. The pSignatureSettings field was not unitilized so it got a random value from the stack causing a later crash when it was dereferenced in Wintrust (SoftPubloadSignature). --- dlls/msi/msi.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c index db04babb899..3ebfd94a9f0 100644 --- a/dlls/msi/msi.c +++ b/dlls/msi/msi.c @@ -2544,18 +2544,15 @@ HRESULT WINAPI MsiGetFileSignatureInformationW( const WCHAR *path, DWORD flags, info.hFile = NULL; info.pgKnownSubject = NULL; + memset( &data, 0, sizeof(data) ); data.cbStruct = sizeof(data); - data.pPolicyCallbackData = NULL; - data.pSIPClientData = NULL; data.dwUIChoice = WTD_UI_NONE; data.fdwRevocationChecks = WTD_REVOKE_WHOLECHAIN; data.dwUnionChoice = WTD_CHOICE_FILE; data.u.pFile = &info; data.dwStateAction = WTD_STATEACTION_VERIFY; - data.hWVTStateData = NULL; - data.pwszURLReference = NULL; - data.dwProvFlags = 0; data.dwUIContext = WTD_UICONTEXT_INSTALL; + hr = WinVerifyTrustEx( INVALID_HANDLE_VALUE, &generic_verify_v2, &data ); *cert = NULL; if (FAILED(hr)) goto done;
participants (1)
-
Alexandre Julliard