Skip to content

Commit 0d913f9

Browse files
committed
Fix another memory leak in dom_zvals_to_fragment.
1 parent b8100a1 commit 0d913f9

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

ext/dom/parentnode.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,13 @@ xmlNode* dom_zvals_to_fragment(php_libxml_ref_obj *document, xmlNode *contextNod
179179
newNodeObj->document = document;
180180
xmlSetTreeDoc(newNode, documentNode);
181181

182+
if (newNode->type == XML_ATTRIBUTE_NODE) {
183+
xmlFree(fragment);
184+
185+
php_dom_throw_error(HIERARCHY_REQUEST_ERR, stricterror);
186+
return NULL;
187+
}
188+
182189
if (!xmlAddChild(fragment, newNode)) {
183190
xmlFree(fragment);
184191

ext/dom/tests/DOM4_ParentNode_append_with_attributes.phpt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,12 @@ $element = $dom->documentElement;
1919
try {
2020
$element->append($replacement, $addition);
2121
} catch (DOMException $e) {
22-
echo $e->getMessage();
22+
echo $e->getMessage() . "\n";
2323
}
24+
25+
echo $dom->saveXML();
2426
?>
2527
--EXPECT--
2628
Hierarchy Request Error
29+
<?xml version="1.0"?>
30+
<test attr-one="21"/>

0 commit comments

Comments
 (0)