msxml3: Null check newNode in domelem insertBefore.

Signed-off-by: Jefferson Carpenter <jeffersoncarpenter2@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jefferson Carpenter 2021-05-27 12:40:08 +00:00 committed by Alexandre Julliard
parent ec867bc428
commit 653504a3ca
2 changed files with 9 additions and 0 deletions

View File

@ -309,6 +309,8 @@ static HRESULT WINAPI domelem_insertBefore(
TRACE("(%p)->(%p %s %p)\n", This, newNode, debugstr_variant(&refChild), old_node);
if (!newNode) return E_INVALIDARG;
hr = IXMLDOMNode_get_nodeType(newNode, &type);
if (hr != S_OK) return hr;

View File

@ -9411,6 +9411,13 @@ static void test_insertBefore(void)
todo_wine EXPECT_REF(elem2, 2);
/* NULL to element */
V_VT(&v) = VT_NULL;
node = (void*)0xdeadbeef;
hr = IXMLDOMElement_insertBefore(elem1, NULL, v, &node);
ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
ok(node == (void*)0xdeadbeef, "got %p\n", node);
/* document to element */
V_VT(&v) = VT_DISPATCH;
V_DISPATCH(&v) = NULL;