]> granicus.if.org Git - php/commitdiff
Reset required_num_args for disabled functions
authorNikita Popov <nikita.ppv@gmail.com>
Wed, 12 Feb 2020 11:01:22 +0000 (12:01 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Wed, 12 Feb 2020 11:01:22 +0000 (12:01 +0100)
Otherwise we may get arginfo/zpp mismatch errors.

Zend/tests/bug69315.phpt
Zend/zend_API.c

index 296e3bb9c6c2aa4894d3684f1f8e90e4dc06bf13..0eb5afb0808ab0ceba237070abea8d0fa038ff56 100644 (file)
@@ -12,6 +12,9 @@ var_dump(defined("PHP_VERSION"));
 var_dump(constant("PHP_VERSION"));
 var_dump(call_user_func("strlen"));
 var_dump(is_string("xxx"));
+var_dump(is_string());
+
+?>
 --EXPECTF--
 bool(false)
 bool(true)
@@ -30,3 +33,6 @@ NULL
 
 Warning: is_string() has been disabled for security reasons in %sbug69315.php on line %d
 NULL
+
+Warning: is_string() has been disabled for security reasons in %s on line %d
+NULL
index f826af856d58a4fc55a6b3d3066e5210a2889faf..a3e452bf7d9c56881abd9bdcaacac0a908704bfe 100644 (file)
@@ -2650,6 +2650,7 @@ ZEND_API int zend_disable_function(char *function_name, size_t function_name_len
                zend_free_internal_arg_info(func);
            func->fn_flags &= ~(ZEND_ACC_VARIADIC | ZEND_ACC_HAS_TYPE_HINTS | ZEND_ACC_HAS_RETURN_TYPE);
                func->num_args = 0;
+               func->required_num_args = 0;
                func->arg_info = NULL;
                func->handler = ZEND_FN(display_disabled_function);
                return SUCCESS;