summaryrefslogtreecommitdiff
path: root/ext/dom/parentnode.c
diff options
context:
space:
mode:
authorBenjamin Eberlei <kontakt@beberlei.de>2020-03-06 00:03:13 +0100
committerBenjamin Eberlei <kontakt@beberlei.de>2020-03-06 00:03:13 +0100
commit0d913f9acf821f4d3074ac457b93d7c478edbcc5 (patch)
treee80983a18dbeaf0067b76351968616b33b2bf37e /ext/dom/parentnode.c
parentb8100a150afa80aa2b1eda43e798035d4dcc917a (diff)
downloadphp-git-0d913f9acf821f4d3074ac457b93d7c478edbcc5.tar.gz
Fix another memory leak in dom_zvals_to_fragment.
Diffstat (limited to 'ext/dom/parentnode.c')
-rw-r--r--ext/dom/parentnode.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/dom/parentnode.c b/ext/dom/parentnode.c
index be30c79261..a9502a5159 100644
--- a/ext/dom/parentnode.c
+++ b/ext/dom/parentnode.c
@@ -179,6 +179,13 @@ xmlNode* dom_zvals_to_fragment(php_libxml_ref_obj *document, xmlNode *contextNod
newNodeObj->document = document;
xmlSetTreeDoc(newNode, documentNode);
+ if (newNode->type == XML_ATTRIBUTE_NODE) {
+ xmlFree(fragment);
+
+ php_dom_throw_error(HIERARCHY_REQUEST_ERR, stricterror);
+ return NULL;
+ }
+
if (!xmlAddChild(fragment, newNode)) {
xmlFree(fragment);