xmllite/reader: Handle NULL argument in GetNodeType().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2017-01-27 11:17:41 +03:00 committed by Alexandre Julliard
parent 5e59d093a2
commit 1ed0631e5d
2 changed files with 11 additions and 0 deletions

View File

@ -2786,8 +2786,12 @@ static HRESULT WINAPI xmlreader_Read(IXmlReader* iface, XmlNodeType *nodetype)
static HRESULT WINAPI xmlreader_GetNodeType(IXmlReader* iface, XmlNodeType *node_type)
{
xmlreader *This = impl_from_IXmlReader(iface);
TRACE("(%p)->(%p)\n", This, node_type);
if (!node_type)
return E_INVALIDARG;
*node_type = reader_get_nodetype(This);
return This->state == XmlReadState_Closed ? S_FALSE : S_OK;
}

View File

@ -427,6 +427,13 @@ static void test_reader_create(void)
ok(hr == S_FALSE, "got %08x\n", hr);
ok(nodetype == XmlNodeType_None, "got %d\n", nodetype);
/* crashes on XP, 2k3, works on newer versions */
if (0)
{
hr = IXmlReader_GetNodeType(reader, NULL);
ok(hr == E_INVALIDARG, "got %08x\n", hr);
}
resolver = (void*)0xdeadbeef;
hr = IXmlReader_GetProperty(reader, XmlReaderProperty_XmlResolver, (LONG_PTR*)&resolver);
ok(hr == S_OK, "got 0x%08x\n", hr);