[PATCH 1/3] oleaut32: Sanity check some arguments

Andrew Eikum aeikum at codeweavers.com
Fri May 10 14:31:24 CDT 2013


---
 dlls/oleaut32/typelib.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index d42dd34..8434e56 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -5498,6 +5498,9 @@ static HRESULT WINAPI ITypeInfo_fnGetFuncDesc( ITypeInfo2 *iface, UINT index,
 
     TRACE("(%p) index %d\n", This, index);
 
+    if (!ppFuncDesc)
+        return E_INVALIDARG;
+
     if (This->TypeAttr.typekind == TKIND_DISPATCH)
         hr = ITypeInfoImpl_GetInternalDispatchFuncDesc((ITypeInfo *)iface, index,
                                                        &internal_funcdesc, NULL,
@@ -5729,6 +5732,9 @@ static HRESULT WINAPI ITypeInfo_fnGetImplTypeFlags( ITypeInfo2 *iface,
 
     TRACE("(%p) index %d\n", This, index);
 
+    if(!pImplTypeFlags)
+        return E_INVALIDARG;
+
     if(This->TypeAttr.typekind == TKIND_DISPATCH && index == 0){
         *pImplTypeFlags = 0;
         return S_OK;
@@ -7027,6 +7033,9 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeInfo(
     ITypeInfoImpl *This = impl_from_ITypeInfo2(iface);
     HRESULT result = E_FAIL;
 
+    if(!ppTInfo)
+        return E_INVALIDARG;
+
     if ((This->hreftype != -1) && (This->hreftype == hRefType))
     {
         *ppTInfo = (ITypeInfo *)&This->ITypeInfo2_iface;
@@ -7424,6 +7433,9 @@ static HRESULT WINAPI ITypeInfo2_fnGetCustData(
 
     TRACE("%p %s %p\n", This, debugstr_guid(guid), pVarVal);
 
+    if(!guid || !pVarVal)
+        return E_INVALIDARG;
+
     pCData = TLB_get_custdata_by_guid(&This->custdata_list, guid);
 
     VariantInit( pVarVal);
-- 
1.8.2.2





More information about the wine-patches mailing list