diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-09-03 10:29:18 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-09-03 10:29:18 +0200 |
commit | 3b853c97f3e74d4bb3dbdcfe847e1441a2e9dcb5 (patch) | |
tree | bdb291739358e6add17ee0afe1a14ecaee39c2e4 /Zend/zend_builtin_functions.c | |
parent | daf222c9f88e2aac41437ca97cfe2c60300eed23 (diff) | |
download | php-git-3b853c97f3e74d4bb3dbdcfe847e1441a2e9dcb5.tar.gz |
Fixed bug #80045
Applying the obvious fix ... however, I think we may need to
rething how we handle trampoline fcc for "f" zpp. It might make
sense to use fcc->function_handler == NULL for that case and
force it to be fetched in zend_call_function instead (it will
be reset to that after the call anyway). Otherwise we will keep
chasing these leaks, as it's the only instance where it's
necessary to free a zpp result.
Diffstat (limited to 'Zend/zend_builtin_functions.c')
-rw-r--r-- | Zend/zend_builtin_functions.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index c3a2a1b63f..906f0666ed 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -1198,6 +1198,7 @@ ZEND_FUNCTION(set_error_handler) ZVAL_COPY(&EG(user_error_handler), &(fci.function_name)); EG(user_error_handler_error_reporting) = (int)error_type; + zend_release_fcall_info_cache(&fcc); } /* }}} */ @@ -1253,6 +1254,7 @@ ZEND_FUNCTION(set_exception_handler) } ZVAL_COPY(&EG(user_exception_handler), &(fci.function_name)); + zend_release_fcall_info_cache(&fcc); } /* }}} */ |