Nikolay Sivov : xmllite/reader: Handle NULL argument in GetNodeType().
Module: wine Branch: master Commit: 1ed0631e5dccd51a4209442fb4ef370acc8d9be3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1ed0631e5dccd51a4209442fb4... Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Fri Jan 27 11:17:41 2017 +0300 xmllite/reader: Handle NULL argument in GetNodeType(). Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- 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 de61d13..1bb1cab 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 8e50b13..7144df7 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);
participants (1)
-
Alexandre Julliard