From 3c2a570a2225470e6135273786da14a3489178ca Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Fri, 3 Oct 2025 20:38:28 +0200 Subject: [PATCH 1/3] Remove useless zval_ptr_dtor() in php_userstreamop_write() At this point, retval is either false or converted to a long. --- main/streams/userspace.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/main/streams/userspace.c b/main/streams/userspace.c index 888e4c90bbaf9..deae2ff5d2d3c 100644 --- a/main/streams/userspace.c +++ b/main/streams/userspace.c @@ -602,8 +602,6 @@ static ssize_t php_userstreamop_write(php_stream *stream, const char *buf, size_ didwrite = count; } - zval_ptr_dtor(&retval); - return didwrite; } From bcb56122b967b640077be62d3ebadd0f9fceead4 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Fri, 3 Oct 2025 20:39:33 +0200 Subject: [PATCH 2/3] Remove useless zval_ptr_dtor() in user_filter_factory_create() At this point, retval is false. --- ext/standard/user_filters.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c index 5bc4d791bcf62..40ad6a5da37d2 100644 --- a/ext/standard/user_filters.c +++ b/ext/standard/user_filters.c @@ -301,9 +301,6 @@ static php_stream_filter *user_filter_factory_create(const char *filtername, if (Z_TYPE(retval) != IS_UNDEF) { if (Z_TYPE(retval) == IS_FALSE) { - /* User reported filter creation error "return false;" */ - zval_ptr_dtor(&retval); - /* Kill the filter (safely) */ ZVAL_UNDEF(&filter->abstract); php_stream_filter_free(filter); From e99df6786956d36540be91ad2ef14aae549fb852 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sat, 4 Oct 2025 12:58:29 +0200 Subject: [PATCH 3/3] Fix uouv in recursive implicit bind computation (#20056) Regressed in 5c956f98. Moved the initialization to prevent future regressions. Fixes last nightly. --- Zend/zend_compile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index e45154157c287..480002f682e40 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -8161,6 +8161,7 @@ static void find_implicit_binds(closure_info *info, zend_ast *params_ast, zend_a uint32_t i; zend_hash_init(&info->uses, param_list->children, NULL, NULL, 0); + info->varvars_used = false; find_implicit_binds_recursively(info, stmt_ast); @@ -8470,7 +8471,6 @@ static zend_op_array *zend_compile_func_decl_ex( zend_op_array *op_array = zend_arena_alloc(&CG(arena), sizeof(zend_op_array)); zend_oparray_context orig_oparray_context; closure_info info; - memset(&info, 0, sizeof(closure_info)); init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE);