diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2013-12-10 14:19:17 +0400 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2013-12-10 14:19:17 +0400 |
| commit | 5a87b7ff39bbf427807c46d1e51e2654259ad394 (patch) | |
| tree | 421d3f5a7655d5586f67d4c71561fba9eaf597f0 /Zend/zend_execute_API.c | |
| parent | 5ad11174196760ad9aa4c94c08e0e58c72eb9cb9 (diff) | |
| download | php-git-5a87b7ff39bbf427807c46d1e51e2654259ad394.tar.gz | |
Fixed bug #66252 (Problems in AST evaluation invalidating valid parent:: reference. Constant expessions have to be evaluated in context of defining class).
Diffstat (limited to 'Zend/zend_execute_API.c')
| -rw-r--r-- | Zend/zend_execute_API.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index bcce7418d5..82689ed7d6 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -593,7 +593,7 @@ ZEND_API int zval_update_constant_ex(zval **pp, void *arg, zend_class_entry *sco continue; } if (str_index[str_index_len - 2] == IS_CONSTANT_AST) { - zend_ast_evaluate(&const_value, *(zend_ast **)str_index TSRMLS_CC); + zend_ast_evaluate(&const_value, *(zend_ast **)str_index, scope TSRMLS_CC); zend_ast_destroy(*(zend_ast **)str_index); } else if (!zend_get_constant_ex(str_index, str_index_len - 3, &const_value, scope, str_index[str_index_len - 2] TSRMLS_CC)) { char *actual; @@ -667,7 +667,7 @@ ZEND_API int zval_update_constant_ex(zval **pp, void *arg, zend_class_entry *sco SEPARATE_ZVAL_IF_NOT_REF(pp); p = *pp; - zend_ast_evaluate(&const_value, Z_AST_P(p) TSRMLS_CC); + zend_ast_evaluate(&const_value, Z_AST_P(p), scope TSRMLS_CC); if (inline_change) { zend_ast_destroy(Z_AST_P(p)); } |
