Bug #81642 [Com]: DOMChildNode::replaceWith() bug when replacing a node with itself.

From: Date: Fri, 10 Jun 2022 09:22:14 +0000
Subject: Bug #81642 [Com]: DOMChildNode::replaceWith() bug when replacing a node with itself.
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-241703@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=81642&edit=1 ID: 81642 Comment by: afshin dot meh at gmail dot com Reported by: jules dot bernable at gmail dot com Summary: DOMChildNode::replaceWith() bug when replacing a node with itself. Status: Verified Type: Bug Package: DOM XML related Operating System: debian unstable PHP Version: 8.0.0 Assigned To: beberlei Block user comment: N Private report: N New Comment: I'm happy to look into this as well if it's not being worked on yet? Previous Comments: ------------------------------------------------------------------------ [2022-04-25 12:59:59] cmb@php.net I can confirm the reported issues. Benjamin, could you have a look at this? ------------------------------------------------------------------------ [2021-11-19 16:51:53] jules dot bernable at gmail dot com Description: ------------ When calling DOMChildNode::replaceWith() on a given node, If the node is also part of the argument list, PHP either throws a DOMException or just hangs indefinitely. The bug is present at least in versions 8.0.12 and 8.1.0RC6 Test script: --------------- // example 1 $doc = new DOMDocument(); $doc->appendChild($target = $doc->createElement('test')); $target->replaceWith($target); // PHP Fatal error: Uncaught DOMException: Not Found Error // example 2 $doc = new DOMDocument(); $doc->appendChild($target = $doc->createElement('test')); $target->replaceWith($target, 'foo'); // program hangs indefinitely Expected result: ---------------- Both examples should be handled correctly, like browsers do. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=81642&edit=1

« previous php.bugs (#241703) next »