Jacek Caban : msi: Fixed varg0 leak in InstallerImpl_SummaryInformation.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Sep 1 08:56:04 CDT 2015
Module: wine
Branch: master
Commit: d8f79a037cfb29104a960c4e6422e4718e3ecf43
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d8f79a037cfb29104a960c4e6422e4718e3ecf43
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Aug 31 20:11:53 2015 +0200
msi: Fixed varg0 leak in InstallerImpl_SummaryInformation.
---
dlls/msi/automation.c | 26 +++++++++++---------------
1 file changed, 11 insertions(+), 15 deletions(-)
diff --git a/dlls/msi/automation.c b/dlls/msi/automation.c
index e974387..56823ee 100644
--- a/dlls/msi/automation.c
+++ b/dlls/msi/automation.c
@@ -1841,32 +1841,28 @@ static HRESULT InstallerImpl_SummaryInformation(WORD wFlags,
if (!(wFlags & DISPATCH_PROPERTYGET))
return DISP_E_MEMBERNOTFOUND;
- VariantInit(&varg0);
- hr = DispGetParam(pDispParams, 0, VT_BSTR, &varg0, puArgErr);
- if (FAILED(hr))
- return hr;
-
VariantInit(&varg1);
hr = DispGetParam(pDispParams, 1, VT_I4, &varg1, puArgErr);
if (FAILED(hr))
return hr;
- V_VT(pVarResult) = VT_DISPATCH;
+ VariantInit(&varg0);
+ hr = DispGetParam(pDispParams, 0, VT_BSTR, &varg0, puArgErr);
+ if (FAILED(hr))
+ return hr;
ret = MsiGetSummaryInformationW(0, V_BSTR(&varg0), V_I4(&varg1), &hsuminfo);
+ VariantClear(&varg0);
if (ret != ERROR_SUCCESS)
- {
- hr = DISP_E_EXCEPTION;
- goto done;
- }
+ return DISP_E_EXCEPTION;
hr = create_summaryinfo(hsuminfo, &dispatch);
- if (SUCCEEDED(hr))
- V_DISPATCH(pVarResult) = dispatch;
+ if (FAILED(hr))
+ return hr;
-done:
- VariantClear(&varg0);
- return hr;
+ V_VT(pVarResult) = VT_DISPATCH;
+ V_DISPATCH(pVarResult) = dispatch;
+ return S_OK;
}
static HRESULT InstallerImpl_UILevel(WORD wFlags,
More information about the wine-cvs
mailing list