[PATCH 0/1] MR4004: msxml3: IXMLDOMElement::selectSingleNode always assign a value to the output parameter
From: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> --- dlls/msxml3/node.c | 3 +++ dlls/msxml3/tests/domdoc.c | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index 339504477ac..4e4a9cfd1ef 100644 --- a/dlls/msxml3/node.c +++ b/dlls/msxml3/node.c @@ -1560,6 +1560,9 @@ HRESULT node_select_singlenode(const xmlnode *This, BSTR query, IXMLDOMNode **no IXMLDOMNodeList *list; HRESULT hr; + if (node) + *node = NULL; + hr = node_select_nodes(This, query, &list); if (hr == S_OK) { diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index 582c3ba6621..b2cddb5d140 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -2516,6 +2516,11 @@ static void test_domnode( void ) ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr); ok( node == NULL, "node %p\n", node ); + node = (void*)0xdeadbeef; + hr = IXMLDOMElement_selectSingleNode( element, _bstr_("In Valid"), &node ); + ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr); + ok( node == NULL, "node %p\n", node ); + str = SysAllocString(L"bs"); hr = IXMLDOMElement_selectSingleNode( element, str, &node ); SysFreeString(str); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4004
participants (2)
-
Alistair Leslie-Hughes -
Alistair Leslie-Hughes (@alesliehughes)