oleview: Removed memory leak in EnumImplTypes.
authorPiotr Caban <piotr.caban@gmail.com>
Thu, 10 Apr 2008 23:11:03 +0000 (01:11 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 11 Apr 2008 10:11:32 +0000 (12:11 +0200)
programs/oleview/typelib.c

index 96e7574791fe853e2899f84559110e362a497ce1..7215980e146d26ee65fb7e661a0bf69cfd50132a 100644 (file)
@@ -744,8 +744,16 @@ static int EnumImplTypes(ITypeInfo *pTypeInfo, int cImplTypes, HTREEITEM hParent
         if(FAILED(ITypeInfo_GetRefTypeInfo(pTypeInfo, hRefType, &pRefTypeInfo)))
             continue;
         if(FAILED(ITypeInfo_GetDocumentation(pRefTypeInfo, MEMBERID_NIL, &bstrName,
-                NULL, NULL, NULL))) continue;
-        if(FAILED(ITypeInfo_GetTypeAttr(pRefTypeInfo, &pTypeAttr))) continue;
+                NULL, NULL, NULL)))
+        {
+            ITypeInfo_Release(pRefTypeInfo);
+            continue;
+        }
+        if(FAILED(ITypeInfo_GetTypeAttr(pRefTypeInfo, &pTypeAttr)))
+        {
+            ITypeInfo_Release(pRefTypeInfo);
+            continue;
+        }
 
         U(tvis).item.cchTextMax = SysStringLen(bstrName);
         U(tvis).item.pszText = bstrName;