diff options
author | Dmitry Stogov <dmitry@zend.com> | 2019-01-24 13:08:00 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2019-01-24 13:08:00 +0300 |
commit | fd41b99d58b5e1b2e7b7323b8e0744502c0f42bd (patch) | |
tree | 9c3e0e39c4bc689cf53f6094d7eb9153dac1f709 /Zend/zend_API.c | |
parent | 1d984cc707fed6f23224a5f72c0e8e5a0cc9fc24 (diff) | |
parent | aa9a8dbda3ffc397aa177173650eaeaada778eda (diff) | |
download | php-git-fd41b99d58b5e1b2e7b7323b8e0744502c0f42bd.tar.gz |
Merge branch 'PHP-7.3'
* PHP-7.3:
Fixed bug #77494 (Disabling class causes segfault on member access)
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r-- | Zend/zend_API.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 234422ef65..a6aa4e5837 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -2773,6 +2773,17 @@ static zend_object *display_disabled_class(zend_class_entry *class_type) /* {{{ zend_object *intern; intern = zend_objects_new(class_type); + + /* Initialize default properties */ + if (EXPECTED(class_type->default_properties_count != 0)) { + zval *p = intern->properties_table; + zval *end = p + class_type->default_properties_count; + do { + ZVAL_UNDEF(p); + p++; + } while (p != end); + } + zend_error(E_WARNING, "%s() has been disabled for security reasons", ZSTR_VAL(class_type->name)); return intern; } |