Huw Davies : qedit: Fix a memory leak.
Alexandre Julliard
julliard at winehq.org
Tue Dec 15 09:40:21 CST 2009
Module: wine
Branch: master
Commit: 33a193439d03a06555e8517d371e27b12e64c00d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=33a193439d03a06555e8517d371e27b12e64c00d
Author: Huw Davies <huw at codeweavers.com>
Date: Tue Dec 15 15:20:29 2009 +0000
qedit: Fix a memory leak.
Found by Valgrind.
---
dlls/qedit/mediadet.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/dlls/qedit/mediadet.c b/dlls/qedit/mediadet.c
index d27a638..3a13f71 100644
--- a/dlls/qedit/mediadet.c
+++ b/dlls/qedit/mediadet.c
@@ -310,7 +310,11 @@ static HRESULT GetFilterInfo(IMoniker *pMoniker, GUID *pclsid, VARIANT *pvar)
hr = IPropertyBag_Read(pPropBagCat, wszClsidName, pvar, NULL);
if (SUCCEEDED(hr))
+ {
hr = CLSIDFromString(V_UNION(pvar, bstrVal), pclsid);
+ VariantClear(pvar);
+ V_VT(pvar) = VT_BSTR;
+ }
if (SUCCEEDED(hr))
hr = IPropertyBag_Read(pPropBagCat, wszFriendlyName, pvar, NULL);
@@ -387,10 +391,14 @@ static HRESULT GetSplitter(MediaDetImpl *This)
hr = CoCreateInstance(&clsid, NULL, CLSCTX_INPROC_SERVER,
&IID_IBaseFilter, (void **) &splitter);
if (FAILED(hr))
+ {
+ VariantClear(&var);
return hr;
+ }
hr = IGraphBuilder_AddFilter(This->graph, splitter,
V_UNION(&var, bstrVal));
+ VariantClear(&var);
if (FAILED(hr))
{
IBaseFilter_Release(splitter);
More information about the wine-cvs
mailing list