]> granicus.if.org Git - php/commitdiff
Store constant flags
authorDmitry Stogov <dmitry@zend.com>
Tue, 1 Apr 2014 12:30:13 +0000 (16:30 +0400)
committerDmitry Stogov <dmitry@zend.com>
Tue, 1 Apr 2014 12:30:13 +0000 (16:30 +0400)
ext/opcache/zend_accelerator_util_funcs.c

index 1ea652bc46a3fad1b8e09663c5ad4d74d2115dc6..89b3b1137eb6c9e01c1bf3825be824e9541121f8 100644 (file)
@@ -403,6 +403,7 @@ static void zend_hash_clone_zval(HashTable *ht, HashTable *source, int bind)
                        q->key = NULL;
                } else {
                        q->key = STR_DUP(p->key, 0);
+                       q->key->gc.u.v.flags = p->key->gc.u.v.flags;
                }
 
                /* Copy data */
@@ -646,7 +647,7 @@ static void zend_class_copy_ctor(zend_class_entry **pce)
                ce->default_properties_table = emalloc(sizeof(zval) * old_ce->default_properties_count);
                for (i = 0; i < old_ce->default_properties_count; i++) {
                        ZVAL_COPY_VALUE(&ce->default_properties_table[i], &old_ce->default_properties_table[i]);
-                       zend_clone_zval(&ce->default_properties_table[i], 0 TSRMLS_CC);
+                       zend_clone_zval(&ce->default_properties_table[i], 1 TSRMLS_CC);
                }
        }
 #else