Module: wine Branch: master Commit: d8f79a037cfb29104a960c4e6422e4718e3ecf43 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d8f79a037cfb29104a960c4e64...
Author: Jacek Caban jacek@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,