]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.4'
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 25 Oct 2019 14:32:14 +0000 (16:32 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 25 Oct 2019 14:32:14 +0000 (16:32 +0200)
* PHP-7.4:
  Fix bug #78226: Don't call __set() on uninitialized typed properties

1  2 
Zend/zend_API.c
Zend/zend_inheritance.c
Zend/zend_object_handlers.c
Zend/zend_objects.c
Zend/zend_types.h

diff --cc Zend/zend_API.c
Simple merge
Simple merge
index c5fd87eb97157112160611d6bcf74f1f61839376,5ac64fffb19d7b5ffbe9826bca1df44f29d6465f..492a2d3e1f3275bde4241353e2f45043502f6c05
@@@ -1070,8 -1116,10 +1075,10 @@@ ZEND_API void zend_std_unset_property(z
                        if (zobj->properties) {
                                HT_FLAGS(zobj->properties) |= HASH_FLAG_HAS_EMPTY_IND;
                        }
 -                      goto exit;
 +                      return;
                }
+               /* Reset the IS_PROP_UNINIT flag, if it exists. */
+               Z_PROP_FLAG_P(slot) = 0;
        } else if (EXPECTED(IS_DYNAMIC_PROPERTY_OFFSET(property_offset))
         && EXPECTED(zobj->properties != NULL)) {
                if (UNEXPECTED(GC_REFCOUNT(zobj->properties) > 1)) {
Simple merge
Simple merge