Nikolay Sivov : oledb32: Fix IDBInitialize instance leak on error path ( Valgrind).
Alexandre Julliard
julliard at winehq.org
Mon May 5 15:03:26 CDT 2014
Module: wine
Branch: master
Commit: 3804423f8cd65922ee74e7722b407769916c5f29
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3804423f8cd65922ee74e7722b407769916c5f29
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Sun May 4 20:34:09 2014 +0400
oledb32: Fix IDBInitialize instance leak on error path (Valgrind).
---
dlls/oledb32/datainit.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/oledb32/datainit.c b/dlls/oledb32/datainit.c
index 9fe3c4f..dfafeb1 100644
--- a/dlls/oledb32/datainit.c
+++ b/dlls/oledb32/datainit.c
@@ -205,7 +205,7 @@ static const IDBInitializeVtbl dbinit_vtbl =
dbinit_Uninitialize
};
-static HRESULT create_db_init(void **obj)
+static HRESULT create_db_init(IUnknown **obj)
{
dbinit *This;
@@ -220,7 +220,7 @@ static HRESULT create_db_init(void **obj)
This->IDBProperties_iface.lpVtbl = &dbprops_vtbl;
This->ref = 1;
- *obj = &This->IDBInitialize_iface;
+ *obj = (IUnknown*)&This->IDBInitialize_iface;
return S_OK;
}
@@ -512,7 +512,7 @@ static HRESULT WINAPI datainit_GetDataSource(IDataInitialize *iface, IUnknown *o
hr = CoCreateInstance(&provclsid, outer, clsctx, riid, (void**)datasource);
if (FAILED(hr) && IsEqualIID(riid, &IID_IDBInitialize))
- hr = create_db_init((void**)datasource);
+ hr = create_db_init(datasource);
}
/* now set properties */
@@ -555,7 +555,7 @@ static HRESULT WINAPI datainit_GetDataSource(IDataInitialize *iface, IUnknown *o
hr = set_dbpropset(name, value, &propset);
SysFreeString(name);
SysFreeString(value);
- if (FAILED(hr)) return hr;
+ if (FAILED(hr)) break;
hr = IDBProperties_SetProperties(dbprops, 1, propset);
free_dbpropset(1, propset);
More information about the wine-cvs
mailing list