Jacek Caban : mshtml: Properly handle NULL VT_DISPATCH refChild in IHTMLDOMNode::insertBefore.
Alexandre Julliard
julliard at winehq.org
Thu Jul 26 15:34:59 CDT 2012
Module: wine
Branch: master
Commit: 13df042891254c1dfc2b860a2d86b0fb5968d56e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=13df042891254c1dfc2b860a2d86b0fb5968d56e
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Jul 26 17:52:42 2012 +0200
mshtml: Properly handle NULL VT_DISPATCH refChild in IHTMLDOMNode::insertBefore.
---
dlls/mshtml/htmlnode.c | 2 ++
dlls/mshtml/tests/dom.c | 7 +++++++
2 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c
index 7fcff17..b0cf4c3 100644
--- a/dlls/mshtml/htmlnode.c
+++ b/dlls/mshtml/htmlnode.c
@@ -513,6 +513,8 @@ static HRESULT WINAPI HTMLDOMNode_insertBefore(IHTMLDOMNode *iface, IHTMLDOMNode
case VT_NULL:
break;
case VT_DISPATCH: {
+ if(!V_DISPATCH(&refChild))
+ break;
ref_node = get_node_obj(This->doc, (IUnknown*)V_DISPATCH(&refChild));
if(!ref_node) {
ERR("unvalid node\n");
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index b0c5335..00c1498 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -5920,6 +5920,13 @@ static void test_create_elems(IHTMLDocument2 *doc)
test_elem_innertext(body, "insert test");
test_elem_innerhtml((IUnknown*)body, "insert test");
+ node = test_create_text(doc, " Test");
+ V_VT(&var) = VT_DISPATCH;
+ V_DISPATCH(&var) = NULL;
+ test_node_insertbefore((IUnknown*)body, node, &var);
+ test_elem_innertext(body, "insert test Test");
+ IHTMLDOMNode_Release(node);
+
hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument5, (void**)&doc5);
if(hres == S_OK)
{
More information about the wine-cvs
mailing list