Merge branch 'PHP-5.6' into PHP-7.0

* PHP-5.6:
  Prevent usage in GC after free.
This commit is contained in:
Dmitry Stogov 2016-04-19 01:37:24 +03:00
commit e46be0cd19

View file

@ -657,7 +657,8 @@ static void do_inherit_property(zend_property_info *parent_info, zend_string *ke
int parent_num = OBJ_PROP_TO_NUM(parent_info->offset);
int child_num = OBJ_PROP_TO_NUM(child_info->offset);
zval_ptr_dtor(&(ce->default_properties_table[parent_num]));
/* Don't keep default properties in GC (thry may be freed by opcache) */
zval_ptr_dtor_nogc(&(ce->default_properties_table[parent_num]));
ce->default_properties_table[parent_num] = ce->default_properties_table[child_num];
ZVAL_UNDEF(&ce->default_properties_table[child_num]);
child_info->offset = parent_info->offset;