Rob Shearman : oleaut32: Fix two more leaks on type info destruction.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Oct 23 10:03:20 CDT 2006


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

Author: Rob Shearman <rob at codeweavers.com>
Date:   Mon Oct 23 11:44:50 2006 +0100

oleaut32: Fix two more leaks on type info destruction.

---

 dlls/oleaut32/typelib.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index e09a5d5..d866b9b 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -1816,7 +1816,7 @@ MSFT_DoFuncs(TLBContext*     pcx,
                 {
                     if ( pFuncRec->FKCCIC & 0x2000 )
                     {
-                       (*pptfd)->Entry = (WCHAR*) pFuncRec->OptAttr[2] ;
+                       (*pptfd)->Entry = SysAllocString((WCHAR*)pFuncRec->OptAttr[2]);
                     }
                     else
                     {
@@ -3593,6 +3593,8 @@ static ULONG WINAPI ITypeLib2_fnRelease(
 
       for (pImpLib = This->pImpLibs; pImpLib; pImpLib = pImpLibNext)
       {
+          if (pImpLib->pImpTypeLib)
+              ITypeLib_Release((ITypeLib *)pImpLib->pImpTypeLib);
           TLB_Free(pImpLib->name);
 
           pImpLibNext = pImpLib->next;
@@ -4433,6 +4435,7 @@ static ULONG WINAPI ITypeInfo_fnRelease(
               pCustDataNext = pCustData->next;
               TLB_Free(pCustData);
           }
+          SysFreeString(pFInfo->Entry);
           SysFreeString(pFInfo->HelpString);
           SysFreeString(pFInfo->Name);
 




More information about the wine-cvs mailing list