File tree 2 files changed +22
-1
lines changed
2 files changed +22
-1
lines changed Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ fiber.stack_size must be a positive number
3
+ --FILE--
4
+ <?php
5
+ ini_set ("fiber.stack_size " ,"-1 " );
6
+ $ fiber = new Fiber (function () {});
7
+ try {
8
+ $ fiber ->start ();
9
+ } catch (Throwable $ e ) {
10
+ echo "Exception: " . $ e ->getMessage ()."\n" ;
11
+ }
12
+ ?>
13
+ DONE
14
+ --EXPECTF--
15
+ Warning: fiber.stack_size must be a positive number in %snegative_stack_size.php on line 2
16
+ DONE
Original file line number Diff line number Diff line change @@ -177,7 +177,12 @@ static ZEND_INI_MH(OnSetExceptionStringParamMaxLen) /* {{{ */
177
177
static ZEND_INI_MH (OnUpdateFiberStackSize ) /* {{{ */
178
178
{
179
179
if (new_value ) {
180
- EG (fiber_stack_size ) = zend_atol (ZSTR_VAL (new_value ), ZSTR_LEN (new_value ));
180
+ zend_long tmp = zend_atol (ZSTR_VAL (new_value ), ZSTR_LEN (new_value ));
181
+ if (tmp < 0 ) {
182
+ zend_error (E_WARNING , "fiber.stack_size must be a positive number" );
183
+ return FAILURE ;
184
+ }
185
+ EG (fiber_stack_size ) = tmp ;
181
186
} else {
182
187
EG (fiber_stack_size ) = ZEND_FIBER_DEFAULT_C_STACK_SIZE ;
183
188
}
You can’t perform that action at this time.
0 commit comments