diff options
| author | Felipe Pena <felipe@php.net> | 2011-09-17 00:16:11 +0000 |
|---|---|---|
| committer | Felipe Pena <felipe@php.net> | 2011-09-17 00:16:11 +0000 |
| commit | 0ebd2309b1684b38be613d7b8e377cb6e461ea11 (patch) | |
| tree | 967ffbdc963eda2ca969c6bbc68295d906dfaf5b /Zend/zend_execute.c | |
| parent | ad9c9ed5293cc7805853aff954699a49d4cd5b9f (diff) | |
| download | php-git-0ebd2309b1684b38be613d7b8e377cb6e461ea11.tar.gz | |
- Fixed bug #55705 (Omitting a callable typehinted argument causes a segfault)
patch by: laruence@php
Diffstat (limited to 'Zend/zend_execute.c')
| -rw-r--r-- | Zend/zend_execute.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 20d21402ed..e24a3dd6f2 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -639,6 +639,9 @@ static inline int zend_verify_arg_type(zend_function *zf, zend_uint arg_num, zva break; case IS_CALLABLE: + if (!arg) { + return zend_verify_arg_error(E_RECOVERABLE_ERROR, zf, arg_num, "be callable", "", "none", "" TSRMLS_CC); + } if (!zend_is_callable(arg, IS_CALLABLE_CHECK_SILENT, NULL TSRMLS_CC) && (Z_TYPE_P(arg) != IS_NULL || !cur_arg_info->allow_null)) { return zend_verify_arg_error(E_RECOVERABLE_ERROR, zf, arg_num, "be callable", "", zend_zval_type_name(arg), "" TSRMLS_CC); } |
