From e321eba0c793d409a43a1f9ec8734d1f3421a6e2 Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Tue, 12 Mar 2024 17:42:28 +0100 Subject: [PATCH] tree: Set parent->last early in xmlDOMWrapCloneNode Avoids a corrupted tree in error case. --- tree.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tree.c b/tree.c index 339fa042..645dd6b7 100644 --- a/tree.c +++ b/tree.c @@ -9159,6 +9159,7 @@ xmlDOMWrapCloneNode(xmlDOMWrapCtxtPtr ctxt, clone->prev = prevClone; } else parentClone->children = clone; + parentClone->last = clone; } else resultClone = clone; @@ -9515,11 +9516,6 @@ leave_node: prevClone = clone; cur = cur->next; } else if (cur->type != XML_ATTRIBUTE_NODE) { - /* - * Set clone->last. - */ - if (clone->parent != NULL) - clone->parent->last = clone; clone = clone->parent; if (clone != NULL) parentClone = clone->parent;