We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent e583890 commit a3eb1fdCopy full SHA for a3eb1fd
ext/zend_test/fiber.c
@@ -348,4 +348,5 @@ void zend_test_fiber_init(void)
348
zend_test_fiber_handlers = std_object_handlers;
349
zend_test_fiber_handlers.dtor_obj = zend_test_fiber_object_destroy;
350
zend_test_fiber_handlers.free_obj = zend_test_fiber_object_free;
351
+ zend_test_fiber_handlers.clone_obj = NULL;
352
}
ext/zend_test/tests/gh16388.phpt
@@ -0,0 +1,12 @@
1
+--TEST--
2
+GH-16388 (UB when freeing a cloned _ZendTestFiber)
3
+--EXTENSIONS--
4
+zend_test
5
+--FILE--
6
+<?php
7
+$fiber = new _ZendTestFiber(function (): int {});
8
+clone $fiber;
9
+?>
10
+--EXPECTF--
11
+Fatal error: Uncaught Error: Trying to clone an uncloneable object of class _ZendTestFiber in %s:%d
12
+%A
0 commit comments