summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-06-28 16:36:58 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-06-28 16:38:46 +0200
commit36983035404fa6a6027addd3589832adb93c92ac (patch)
treec7405021f57fc7d0a848ecf4126be927e931aa6f /Zend/zend_API.c
parent345a3b277cf2edb37c8235bf18371bf37ab3b121 (diff)
downloadphp-git-36983035404fa6a6027addd3589832adb93c92ac.tar.gz
Fix arginfo leak in disable_functions
Arginfo is allocated if types are used, we need to free it.
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 13c661699f..edc2ba7bc9 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -2780,6 +2780,7 @@ ZEND_API int zend_disable_function(char *function_name, size_t function_name_len
{
zend_internal_function *func;
if ((func = zend_hash_str_find_ptr(CG(function_table), function_name, function_name_length))) {
+ 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->arg_info = NULL;