Module: wine Branch: master Commit: b8a50daec73ad0160163a1a0cecae4f387bade53 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b8a50daec73ad0160163a1a0ce...
Author: Huw Davies huw@codeweavers.com Date: Wed Apr 25 11:23:03 2007 +0100
oleaut32: Don't try to free the typeinfo if get_funcdesc fails.
---
dlls/oleaut32/tmarshal.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/dlls/oleaut32/tmarshal.c b/dlls/oleaut32/tmarshal.c index 8e3b0bc..46faf62 100644 --- a/dlls/oleaut32/tmarshal.c +++ b/dlls/oleaut32/tmarshal.c @@ -1289,7 +1289,6 @@ xCall(LPVOID retptr, int method, TMProxyImpl *tpinfo /*, args */) hres = _get_funcdesc(tpinfo->tinfo,method,&tinfo,&fdesc,&iname,&fname); if (hres) { ERR("Did not find typeinfo/funcdesc entry for method %d!\n",method); - ITypeInfo_Release(tinfo); LeaveCriticalSection(&tpinfo->crit); return E_FAIL; } @@ -1702,11 +1701,11 @@ PSFacBuf_CreateProxy( int nrofargs; ITypeInfo *tinfo2; hres = _get_funcdesc(tinfo,i,&tinfo2,&fdesc,NULL,NULL); - ITypeInfo_Release(tinfo2); if (hres) { ERR("GetFuncDesc %x should not fail here.\n",hres); return hres; } + ITypeInfo_Release(tinfo2); /* some args take more than 4 byte on the stack */ nrofargs = 0; for (j=0;j<fdesc->cParams;j++)