From: Xinchen Hui Date: Mon, 8 May 2017 03:32:27 +0000 (+0800) Subject: Merge branch 'PHP-7.0' into PHP-7.1 X-Git-Tag: php-7.1.6RC1~32 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2c070847e7a9f88a3c87171fa64dea53f70e1560;p=php Merge branch 'PHP-7.0' into PHP-7.1 * PHP-7.0: Fixed bug #74546 (SIGILL in ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST_HANDLER()) --- 2c070847e7a9f88a3c87171fa64dea53f70e1560 diff --cc Zend/zend_compile.c index 98e75c500c,7fe8815e81..27d4a7bb04 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@@ -7370,12 -6669,13 +7370,15 @@@ void zend_compile_class_const(znode *re return; } - zend_eval_const_expr(&class_ast); - zend_eval_const_expr(&const_ast); + zend_eval_const_expr(&ast->child[0]); + zend_eval_const_expr(&ast->child[1]); + + class_ast = ast->child[0]; + const_ast = ast->child[1]; if (class_ast->kind == ZEND_AST_ZVAL) { + zend_string *resolved_name; + resolved_name = zend_resolve_class_name_ast(class_ast); if (const_ast->kind == ZEND_AST_ZVAL && zend_try_ct_eval_class_const(&result->u.constant, resolved_name, zend_ast_get_str(const_ast))) { result->op_type = IS_CONST;