]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.1' into PHP-7.2
authorNikita Popov <nikita.ppv@gmail.com>
Sat, 30 Jun 2018 18:11:39 +0000 (20:11 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Sat, 30 Jun 2018 18:11:39 +0000 (20:11 +0200)
1  2 
Zend/zend_execute.c

index 3edbb9c7d693e03d01622164fc104f0aeaefcdda,60953ee3543e29811fe6d364d1a056154457ee05..1101214e8827e39aa4121ff52c8457a8f921c20e
@@@ -988,14 -1041,16 +988,17 @@@ static int zend_verify_internal_return_
  {
        zend_internal_arg_info *ret_info = zf->internal_function.arg_info - 1;
        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 (ret_info->type_hint == IS_VOID) {
++      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_internal_type(zf, ret_info, ret, &ce, 1))) {
 +      if (UNEXPECTED(!zend_check_type(ret_info->type, ret, &ce, &dummy_cache_slot, NULL, NULL, 1))) {
                zend_verify_internal_return_error(zf, ce, ret);
                return 0;
        }