From 212335e0b8bab15ce01ce6a3403db29019fa6c86 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 2 Jul 2008 16:15:55 +1000 Subject: [PATCH] msxml3: Added checks for invalid arguments in queryresult. --- dlls/msxml3/queryresult.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dlls/msxml3/queryresult.c b/dlls/msxml3/queryresult.c index d4b837efb97..1b2070e89cb 100644 --- a/dlls/msxml3/queryresult.c +++ b/dlls/msxml3/queryresult.c @@ -118,6 +118,9 @@ static HRESULT WINAPI queryresult_QueryInterface( { TRACE("%p %s %p\n", iface, debugstr_guid(riid), ppvObject); + if(!ppvObject) + return E_INVALIDARG; + if ( IsEqualGUID( riid, &IID_IUnknown ) || IsEqualGUID( riid, &IID_IDispatch ) || IsEqualGUID( riid, &IID_IXMLDOMNodeList ) ) @@ -255,6 +258,9 @@ static HRESULT WINAPI queryresult_get_item( TRACE("%p %ld\n", This, index); + if(!listItem) + return E_INVALIDARG; + *listItem = NULL; if (index < 0 || index >= xmlXPathNodeSetGetLength(This->result->nodesetval)) @@ -274,6 +280,9 @@ static HRESULT WINAPI queryresult_get_length( TRACE("%p\n", This); + if(!listLength) + return E_INVALIDARG; + *listLength = xmlXPathNodeSetGetLength(This->result->nodesetval); return S_OK; } @@ -286,6 +295,9 @@ static HRESULT WINAPI queryresult_nextNode( TRACE("%p %p\n", This, nextItem ); + if(!nextItem) + return E_INVALIDARG; + *nextItem = NULL; if (This->resultPos >= xmlXPathNodeSetGetLength(This->result->nodesetval)) -- 2.11.4.GIT