From: Daniel Lehman <dlehman25@gmail.com> Adding the document node to its own orphan list creates a circular reference. Also, create_domdoc bumps the refcount twice. --- dlls/msxml3/domdoc.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c index 1e7398f8d70..505ac496eed 100644 --- a/dlls/msxml3/domdoc.c +++ b/dlls/msxml3/domdoc.c @@ -1284,16 +1284,10 @@ static HRESULT WINAPI domdoc_cloneNode( return E_FAIL; clone->doc->_private = create_priv(); - xmldoc_add_orphan(clone->doc, clone); - xmldoc_add_ref(clone->doc); - priv_from_xmlDocPtr(clone->doc)->properties = copy_properties(This->properties); + xmldoc_release(clone->doc); if (!(*outNode = (IXMLDOMNode*)create_domdoc(clone))) - { - xmldoc_release(clone->doc); return E_FAIL; - } - return S_OK; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10335