Bug #81642 [Opn->Ver]: DOMChildNode::replaceWith() bug when replacing a node with itself.
| From: | cmb@php.net | Date: | Mon, 25 Apr 2022 12:59:59 +0000 |
| Subject: | Bug #81642 [Opn->Ver]: DOMChildNode::replaceWith() bug when replacing a node with itself. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-241226@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
Updated by: cmb@php.net
Reported by: jules dot bernable at gmail dot com
Summary: DOMChildNode::replaceWith() bug when replacing a
node with itself.
-Status: Open
+Status: Verified
Type: Bug
Package: DOM XML related
Operating System: debian unstable
PHP Version: 8.0.0
-Assigned To:
+Assigned To: beberlei
Block user comment: N
Private report: N
New Comment:
I can confirm the reported issues.
Benjamin, could you have a look at this?
Previous Comments:
------------------------------------------------------------------------
[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