diff --git a/ext/zend_test/fiber.c b/ext/zend_test/fiber.c index 428ecc0682dac..0f5f089207c7f 100644 --- a/ext/zend_test/fiber.c +++ b/ext/zend_test/fiber.c @@ -352,4 +352,5 @@ void zend_test_fiber_init(void) zend_test_fiber_handlers = std_object_handlers; zend_test_fiber_handlers.dtor_obj = zend_test_fiber_object_destroy; zend_test_fiber_handlers.free_obj = zend_test_fiber_object_free; + zend_test_fiber_handlers.clone_obj = NULL; } diff --git a/ext/zend_test/tests/gh16388.phpt b/ext/zend_test/tests/gh16388.phpt new file mode 100644 index 0000000000000..521171f756c44 --- /dev/null +++ b/ext/zend_test/tests/gh16388.phpt @@ -0,0 +1,12 @@ +--TEST-- +GH-16388 (UB when freeing a cloned _ZendTestFiber) +--EXTENSIONS-- +zend_test +--FILE-- + +--EXPECTF-- +Fatal error: Uncaught Error: Trying to clone an uncloneable object of class _ZendTestFiber in %s:%d +%A