From e0b40bfe55338d08d8b1f6bcf0d750aec1ecef80 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sat, 11 May 2024 16:18:57 +0200 Subject: [PATCH] Fix missing deref in C14N Follow-up for 30a0b0359ed8338c0e3acd1682de3cf96429e898, which didn't fix all places. This is the last remaining place. --- ext/dom/node.c | 1 + ext/dom/tests/DOMNode_C14N_references.phpt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) 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-- - +