diff options
author | Dmitry Stogov <dmitry@zend.com> | 2016-04-19 01:37:45 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2016-04-19 01:37:45 +0300 |
commit | 0f8d0df938f740ad0c9429ae966041a4aa55464b (patch) | |
tree | b0fb8f0dc0fae3898e667b9ff311c11fbaf5c517 /Zend/zend_inheritance.c | |
parent | 5085352464e55e92cd5bb7beeb2284b2e1b78061 (diff) | |
parent | e46be0cd19ccf24f0d6417cf9d784847e8542e49 (diff) | |
download | php-git-0f8d0df938f740ad0c9429ae966041a4aa55464b.tar.gz |
Merge branch 'PHP-7.0'
* PHP-7.0:
Prevent usage in GC after free.
Diffstat (limited to 'Zend/zend_inheritance.c')
-rw-r--r-- | Zend/zend_inheritance.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c index 8e48a3446c..f376150f40 100644 --- a/Zend/zend_inheritance.c +++ b/Zend/zend_inheritance.c @@ -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; |