File tree 1 file changed +10
-2
lines changed 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -718,6 +718,7 @@ static void zend_persist_class_method(zval *zv)
718
718
static void zend_persist_property_info (zval * zv )
719
719
{
720
720
zend_property_info * prop = zend_shared_alloc_get_xlat_entry (Z_PTR_P (zv ));
721
+ zend_class_entry * ce ;
721
722
722
723
if (prop ) {
723
724
Z_PTR_P (zv ) = prop ;
@@ -728,7 +729,10 @@ static void zend_persist_property_info(zval *zv)
728
729
} else {
729
730
prop = Z_PTR_P (zv ) = zend_shared_memdup_arena_put (Z_PTR_P (zv ), sizeof (zend_property_info ));
730
731
}
731
- prop -> ce = zend_shared_alloc_get_xlat_entry (prop -> ce );
732
+ ce = zend_shared_alloc_get_xlat_entry (prop -> ce );
733
+ if (ce ) {
734
+ prop -> ce = ce ;
735
+ }
732
736
zend_accel_store_interned_string (prop -> name );
733
737
if (prop -> doc_comment ) {
734
738
if (ZCG (accel_directives ).save_comments ) {
@@ -746,6 +750,7 @@ static void zend_persist_property_info(zval *zv)
746
750
static void zend_persist_class_constant (zval * zv )
747
751
{
748
752
zend_class_constant * c = zend_shared_alloc_get_xlat_entry (Z_PTR_P (zv ));
753
+ zend_class_entry * ce ;
749
754
750
755
if (c ) {
751
756
Z_PTR_P (zv ) = c ;
@@ -757,7 +762,10 @@ static void zend_persist_class_constant(zval *zv)
757
762
c = Z_PTR_P (zv ) = zend_shared_memdup_arena_put (Z_PTR_P (zv ), sizeof (zend_class_constant ));
758
763
}
759
764
zend_persist_zval (& c -> value );
760
- c -> ce = zend_shared_alloc_get_xlat_entry (c -> ce );
765
+ ce = zend_shared_alloc_get_xlat_entry (c -> ce );
766
+ if (ce ) {
767
+ c -> ce = ce ;
768
+ }
761
769
if (c -> doc_comment ) {
762
770
if (ZCG (accel_directives ).save_comments ) {
763
771
zend_string * doc_comment = zend_shared_alloc_get_xlat_entry (c -> doc_comment );
You can’t perform that action at this time.
0 commit comments