]> granicus.if.org Git - php/commitdiff
Exclude interned flags from constant flags
authorDmitry Stogov <dmitry@zend.com>
Tue, 1 Apr 2014 10:20:10 +0000 (14:20 +0400)
committerDmitry Stogov <dmitry@zend.com>
Tue, 1 Apr 2014 10:20:10 +0000 (14:20 +0400)
Zend/zend_execute_API.c

index 363f401230be36106f35723c90e8aa3c82d8fa04..7400840a4989120c834a2719ff9c671f5e793cf7 100644 (file)
@@ -612,7 +612,7 @@ ZEND_API int zval_update_constant_ex(zval *p, void *arg, zend_class_entry *scope
                                zend_ast_destroy(ast->ast);
                                efree(ast);
 //???
-                       } else if (!zend_get_constant_ex(str_index->val, str_index->len, &const_value, scope, str_index->gc.u.v.flags TSRMLS_CC)) {
+                       } else if (!zend_get_constant_ex(str_index->val, str_index->len, &const_value, scope, str_index->gc.u.v.flags & ~(IS_STR_PERSISTENT | IS_STR_INTERNED |IS_STR_PERMANENT) TSRMLS_CC)) {
                                char *actual, *str;
                                const char *save = str_index->val;
                                int len;