diff options
author | Xinchen Hui <laruence@gmail.com> | 2017-04-11 18:47:06 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2017-04-11 18:47:06 +0800 |
commit | 5340587c253fad8e6bbfbbf62372ba017970ea1a (patch) | |
tree | 23dfd15a91140543affb0eb4ae6c593ea4c1db26 /Zend/zend_execute_API.c | |
parent | c14eecb9acef188923a6a00fe14fc29b4124a905 (diff) | |
parent | d44eacab0796f07ccab52281d3cf7317d3ff0427 (diff) | |
download | php-git-5340587c253fad8e6bbfbbf62372ba017970ea1a.tar.gz |
Merge branch 'PHP-7.1'
* PHP-7.1:
Update NEWS
Fixed bug #74408 (Endless loop bypassing execution time limit)
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r-- | Zend/zend_execute_API.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 7a36d23e20..59925e9061 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -750,6 +750,15 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache) / } zend_error(E_DEPRECATED, "%s", error); efree(error); + if (UNEXPECTED(EG(exception))) { + if (callable_name) { + zend_string_release(callable_name); + } + if (EG(current_execute_data) == &dummy_execute_data) { + EG(current_execute_data) = dummy_execute_data.prev_execute_data; + } + return FAILURE; + } } zend_string_release(callable_name); } |