Module: wine Branch: master Commit: 3804423f8cd65922ee74e7722b407769916c5f29 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3804423f8cd65922ee74e7722b...
Author: Nikolay Sivov nsivov@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);