oleview: Fix some crashes on unnamed methods/arguments.
authorNikolay Sivov <nsivov@codeweavers.com>
Sun, 2 Jan 2011 13:05:10 +0000 (16:05 +0300)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 3 Jan 2011 15:45:32 +0000 (16:45 +0100)
programs/oleview/typelib.c

index 771305fd6334b03b07d3cf20866af9fccd37022b..d2d6d00b9320c0feb28260e96906a6e872121123 100644 (file)
@@ -631,7 +631,7 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, TYPEATTR *pTypeAttr, HTREEITEM hParen
             AddToTLDataStrW(tld, wszStdCall);
             AddToTLDataStrW(tld, wszSpace);
         }
-        AddToTLDataStrW(tld, bstrName);
+        if (bstrName) AddToTLDataStrW(tld, bstrName);
         AddToTLDataStrW(tld, wszOpenBrackets2);
 
         for(j=0; j<pFuncDesc->cParams; j++)
@@ -701,8 +701,11 @@ static int EnumFuncs(ITypeInfo *pTypeInfo, TYPEATTR *pTypeAttr, HTREEITEM hParen
             AddToTLDataStrW(tld, wszAfter);
             AddToTLDataStrW(tld, wszSpace);
             if (j+1 < namesNo) {
-                AddToTLDataStrW(tld, bstrParamNames[j+1]);
-                SysFreeString(bstrParamNames[j+1]);
+                if (bstrParamNames[j+1])
+                {
+                    AddToTLDataStrW(tld, bstrParamNames[j+1]);
+                    SysFreeString(bstrParamNames[j+1]);
+                }
             } else {
                 AddToTLDataStrW(tld, szRhs);
             }