summaryrefslogtreecommitdiff
path: root/ext/dom/php_dom.c
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-04-07 13:09:10 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2020-04-07 13:09:10 +0200
commit68139dbdd89451ae804548b9726400a96aeec4fd (patch)
treeb477cfc3cbe9460210cfad3d40cdece7848695de /ext/dom/php_dom.c
parent864b1cc3ef1343d8903551ce1d74c37f73e9dd72 (diff)
parent13c9572a792bd3dc92f95ffd9569b460e788114d (diff)
downloadphp-git-68139dbdd89451ae804548b9726400a96aeec4fd.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: Fix #78221: DOMNode::normalize() doesn't remove empty text nodes
Diffstat (limited to 'ext/dom/php_dom.c')
-rw-r--r--ext/dom/php_dom.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c
index ea6f1953ff..89d1d3bf53 100644
--- a/ext/dom/php_dom.c
+++ b/ext/dom/php_dom.c
@@ -1326,6 +1326,14 @@ void dom_normalize (xmlNodePtr nodep)
break;
}
}
+ strContent = xmlNodeGetContent(child);
+ if (*strContent == '\0') {
+ nextp = child->next;
+ xmlUnlinkNode(child);
+ php_libxml_node_free_resource(child);
+ child = nextp;
+ continue;
+ }
break;
case XML_ELEMENT_NODE:
dom_normalize (child);