summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 3edbb9c7d6..1101214e88 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -990,9 +990,12 @@ static int zend_verify_internal_return_type(zend_function *zf, zval *ret)
zend_class_entry *ce = NULL;
void *dummy_cache_slot = NULL;
- if (UNEXPECTED(ZEND_TYPE_CODE(ret_info->type) == IS_VOID && Z_TYPE_P(ret) != IS_NULL)) {
- zend_verify_void_return_error(zf, zend_zval_type_name(ret), "");
- return 0;
+ if (ZEND_TYPE_CODE(ret_info->type) == IS_VOID) {
+ if (UNEXPECTED(Z_TYPE_P(ret) != IS_NULL)) {
+ zend_verify_void_return_error(zf, zend_zval_type_name(ret), "");
+ return 0;
+ }
+ return 1;
}
if (UNEXPECTED(!zend_check_type(ret_info->type, ret, &ce, &dummy_cache_slot, NULL, NULL, 1))) {