Mikolaj Zalewski : oleview: Don't crash if the parent type couldn' t be retrieved.

Alexandre Julliard julliard at winehq.org
Tue Oct 9 13:37:28 CDT 2007


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

Author: Mikolaj Zalewski <mikolajz at google.com>
Date:   Thu Oct  4 16:17:48 2007 -0700

oleview: Don't crash if the parent type couldn't be retrieved.

---

 programs/oleview/typelib.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c
index 1acdd84..355826b 100644
--- a/programs/oleview/typelib.c
+++ b/programs/oleview/typelib.c
@@ -895,14 +895,18 @@ static void CreateInterfaceInfo(ITypeInfo *pTypeInfo, int cImplTypes, WCHAR *wsz
         AddToTLDataStrW(pTLData, wszSpace);
 
         ITypeInfo_GetRefTypeOfImplType(pTypeInfo, 0, &hRefType);
-        ITypeInfo_GetRefTypeInfo(pTypeInfo, hRefType, &pRefTypeInfo);
-        ITypeInfo_GetDocumentation(pRefTypeInfo, MEMBERID_NIL, &bstrName,
+        if (SUCCEEDED(ITypeInfo_GetRefTypeInfo(pTypeInfo, hRefType, &pRefTypeInfo)))
+        {
+            ITypeInfo_GetDocumentation(pRefTypeInfo, MEMBERID_NIL, &bstrName,
                 NULL, NULL, NULL);
-        AddToTLDataStrW(pTLData, bstrName);
-        AddToTLDataStrW(pTLData, wszSpace);
+            AddToTLDataStrW(pTLData, bstrName);
+            AddToTLDataStrW(pTLData, wszSpace);
 
-        SysFreeString(bstrName);
-        ITypeInfo_Release(pRefTypeInfo);
+            SysFreeString(bstrName);
+            ITypeInfo_Release(pRefTypeInfo);
+        }
+        else
+            AddToTLDataStrW(pTLData, wszFailed);
     }
     AddToTLDataStrW(pTLData, wszOpenBrackets3);
     AddToTLDataStrW(pTLData, wszNewLine);




More information about the wine-cvs mailing list