Huw Davies : oleaut32: Don't try to free the typeinfo if get_funcdesc fails .

Alexandre Julliard julliard at wine.codeweavers.com
Thu Apr 26 10:23:59 CDT 2007


Module: wine
Branch: master
Commit: b8a50daec73ad0160163a1a0cecae4f387bade53
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b8a50daec73ad0160163a1a0cecae4f387bade53

Author: Huw Davies <huw at 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++)




More information about the wine-cvs mailing list