msxml3: Check for Null out pointer in node creation (with tests).
This commit is contained in:
parent
35b800dc92
commit
e2b727807d
|
@ -1046,6 +1046,8 @@ static HRESULT WINAPI domdoc_createElement(
|
|||
|
||||
TRACE("%p->(%s,%p)\n", iface, debugstr_w(tagname), element);
|
||||
|
||||
if (!element) return E_INVALIDARG;
|
||||
|
||||
xml_name = xmlChar_from_wchar(tagname);
|
||||
xmlnode = xmlNewDocNode(get_doc(This), NULL, xml_name, NULL);
|
||||
xmldoc_add_orphan(xmlnode->doc, xmlnode);
|
||||
|
@ -1346,6 +1348,8 @@ static HRESULT WINAPI domdoc_createNode(
|
|||
|
||||
TRACE("(%p)->(type,%s,%s,%p)\n", This, debugstr_w(name), debugstr_w(namespaceURI), node);
|
||||
|
||||
if(!node) return E_INVALIDARG;
|
||||
|
||||
if(namespaceURI && namespaceURI[0])
|
||||
FIXME("nodes with namespaces currently not supported.\n");
|
||||
|
||||
|
|
|
@ -1664,6 +1664,11 @@ static void test_create(void)
|
|||
ok( r == S_OK, "returns %08x\n", r );
|
||||
if( SUCCEEDED(r) ) IXMLDOMNode_Release( node );
|
||||
|
||||
V_VT(&var) = VT_I1;
|
||||
V_I1(&var) = NODE_ELEMENT;
|
||||
r = IXMLDOMDocument_createNode( doc, var, str, NULL, NULL );
|
||||
ok( r == E_INVALIDARG, "returns %08x\n", r );
|
||||
|
||||
V_VT(&var) = VT_R4;
|
||||
V_R4(&var) = NODE_ELEMENT;
|
||||
r = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
|
||||
|
@ -3641,6 +3646,9 @@ static void test_nodeTypeTests( void )
|
|||
if( hr != S_OK )
|
||||
return;
|
||||
|
||||
hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), NULL);
|
||||
ok(hr == E_INVALIDARG, "ret %08x\n", hr );
|
||||
|
||||
hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), &pRoot);
|
||||
ok(hr == S_OK, "ret %08x\n", hr );
|
||||
if(hr == S_OK)
|
||||
|
|
Loading…
Reference in New Issue