From 2634622d3dd0a4d41426465712d271be0e115a75 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sat, 8 Mar 2025 11:12:24 +0100 Subject: [PATCH] Fix uninitialized memory accesses in DOM iterator --- ext/dom/dom_iterators.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ext/dom/dom_iterators.c b/ext/dom/dom_iterators.c index adc5835f9d8..ff63342595a 100644 --- a/ext/dom/dom_iterators.c +++ b/ext/dom/dom_iterators.c @@ -278,15 +278,13 @@ zend_object_iterator *php_dom_get_iterator(zend_class_entry *ce, zval *object, i zend_throw_error(NULL, "An iterator cannot be used with foreach by reference"); return NULL; } - iterator = emalloc(sizeof(php_dom_iterator)); + iterator = emalloc(sizeof(*iterator)); + memset(iterator, 0, sizeof(*iterator)); zend_iterator_init(&iterator->intern); - iterator->cache_tag.modification_nr = 0; ZVAL_OBJ_COPY(&iterator->intern.data, Z_OBJ_P(object)); iterator->intern.funcs = &php_dom_iterator_funcs; - ZVAL_UNDEF(&iterator->curobj); - intern = Z_DOMOBJ_P(object); objmap = (dom_nnodemap_object *)intern->ptr; if (objmap != NULL) {