@@ -2198,8 +2198,8 @@ ZEND_API zend_opt_double ZEND_FASTCALL zend_parse_arg_double_slow(const zval *ar
21982198ZEND_API zend_opt_double ZEND_FASTCALL zend_parse_arg_double_weak (const zval * arg , uint32_t arg_num );
21992199ZEND_API zend_string * ZEND_FASTCALL zend_parse_arg_str_slow (zval * arg , uint32_t arg_num );
22002200ZEND_API zend_string * ZEND_FASTCALL zend_parse_arg_str_weak (zval * arg , uint32_t arg_num );
2201- ZEND_API bool ZEND_FASTCALL zend_parse_arg_number_slow (zval * arg , zval * * dest , uint32_t arg_num );
2202- ZEND_API bool ZEND_FASTCALL zend_parse_arg_number_or_str_slow (zval * arg , zval * * dest , uint32_t arg_num );
2201+ ZEND_API bool ZEND_FASTCALL zend_parse_arg_number_slow (zval * arg , uint32_t arg_num );
2202+ ZEND_API bool ZEND_FASTCALL zend_parse_arg_number_or_str_slow (zval * arg , uint32_t arg_num );
22032203ZEND_API bool ZEND_FASTCALL zend_parse_arg_str_or_long_slow (zval * arg , zend_string * * dest_str , zend_long * dest_long , uint32_t arg_num );
22042204
22052205ZEND_API zend_opt_bool ZEND_FASTCALL zend_flf_parse_arg_bool_slow (const zval * arg , uint32_t arg_num );
@@ -2298,7 +2298,11 @@ static zend_always_inline bool zend_parse_arg_number(zval *arg, zval **dest, boo
22982298 } else if (check_null && EXPECTED (Z_TYPE_P (arg ) == IS_NULL )) {
22992299 * dest = NULL ;
23002300 } else {
2301- return zend_parse_arg_number_slow (arg , dest , arg_num );
2301+ if (zend_parse_arg_number_slow (arg , arg_num )) {
2302+ * dest = arg ;
2303+ } else {
2304+ return 0 ;
2305+ }
23022306 }
23032307 return 1 ;
23042308}
@@ -2310,7 +2314,11 @@ static zend_always_inline bool zend_parse_arg_number_or_str(zval *arg, zval **de
23102314 } else if (check_null && EXPECTED (Z_TYPE_P (arg ) == IS_NULL )) {
23112315 * dest = NULL ;
23122316 } else {
2313- return zend_parse_arg_number_or_str_slow (arg , dest , arg_num );
2317+ if (zend_parse_arg_number_or_str_slow (arg , arg_num )) {
2318+ * dest = arg ;
2319+ } else {
2320+ return false;
2321+ }
23142322 }
23152323 return true;
23162324}
0 commit comments