[PATCH 1/3] xmllite/reader: Handle NULL argument in GetNodeType()
Nikolay Sivov
nsivov at codeweavers.com
Fri Jan 27 02:17:41 CST 2017
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/xmllite/reader.c | 4 ++++
dlls/xmllite/tests/reader.c | 7 +++++++
2 files changed, 11 insertions(+)
diff --git a/dlls/xmllite/reader.c b/dlls/xmllite/reader.c
index de61d135ab..1bb1cabc54 100644
--- a/dlls/xmllite/reader.c
+++ b/dlls/xmllite/reader.c
@@ -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;
}
diff --git a/dlls/xmllite/tests/reader.c b/dlls/xmllite/tests/reader.c
index 8e50b1333a..7144df7577 100644
--- a/dlls/xmllite/tests/reader.c
+++ b/dlls/xmllite/tests/reader.c
@@ -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);
--
2.11.0
More information about the wine-patches
mailing list