From 5955ce898789ca691559baf69d8ab5a1d6136548 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Tue, 8 Oct 2024 14:39:58 +0200 Subject: [PATCH] Fix segfault on debug_backtrace() in _ZendTestFiber Fixes GH-16230 Closes GH-16299 --- ext/zend_test/fiber.c | 1 + ext/zend_test/tests/gh16230.phpt | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 ext/zend_test/tests/gh16230.phpt diff --git a/ext/zend_test/fiber.c b/ext/zend_test/fiber.c index fc673801f7a..a4aa8498e41 100644 --- a/ext/zend_test/fiber.c +++ b/ext/zend_test/fiber.c @@ -91,6 +91,7 @@ static ZEND_STACK_ALIGNED void zend_test_fiber_execute(zend_fiber_transfer *tran execute_data = (zend_execute_data *) stack->top; memset(execute_data, 0, sizeof(zend_execute_data)); + execute_data->func = (zend_function *) &zend_pass_function; EG(current_execute_data) = execute_data; EG(jit_trace_num) = 0; diff --git a/ext/zend_test/tests/gh16230.phpt b/ext/zend_test/tests/gh16230.phpt new file mode 100644 index 00000000000..42487df5b94 --- /dev/null +++ b/ext/zend_test/tests/gh16230.phpt @@ -0,0 +1,22 @@ +--TEST-- +GH-16230: Segfault on debug_backtrace() inside _ZendTestFiber +--EXTENSIONS-- +zend_test +--FILE-- +start(); +?> +--EXPECT-- +array(1) { + [0]=> + array(2) { + ["function"]=> + string(9) "{closure}" + ["args"]=> + array(0) { + } + } +}