diff --git a/ext/dom/node.c b/ext/dom/node.c index 82f40860cfd35..c80f9c3333c6c 100644 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@ -1667,6 +1667,7 @@ static void dom_canonicalization(INTERNAL_FUNCTION_PARAMETERS, int mode) /* {{{ inclusive_ns_prefixes = safe_emalloc(zend_hash_num_elements(Z_ARRVAL_P(ns_prefixes)) + 1, sizeof(xmlChar *), 0); ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(ns_prefixes), tmpns) { + ZVAL_DEREF(tmpns); if (Z_TYPE_P(tmpns) == IS_STRING) { inclusive_ns_prefixes[nscount++] = (xmlChar *) Z_STRVAL_P(tmpns); } diff --git a/ext/dom/tests/DOMNode_C14N_references.phpt b/ext/dom/tests/DOMNode_C14N_references.phpt index 514e22be6365a..5612874f5f30f 100644 --- a/ext/dom/tests/DOMNode_C14N_references.phpt +++ b/ext/dom/tests/DOMNode_C14N_references.phpt @@ -38,4 +38,4 @@ unset($v); echo $doc->C14N(true, false, $xpath, $prefixes); ?> --EXPECT-- - +