diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-04-07 12:14:44 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-04-07 12:14:44 +0400 |
commit | df7293b07250360f9e9cb113bab54618d1a26881 (patch) | |
tree | 03075fc48b464f5a15a4b8cc76761fda98533032 /Zend/zend_objects.c | |
parent | 8b2bb3013733fd465f8dbe24ffac8418e737463b (diff) | |
download | php-git-df7293b07250360f9e9cb113bab54618d1a26881.tar.gz |
don't use memset() for array of zval initialization
Diffstat (limited to 'Zend/zend_objects.c')
-rw-r--r-- | Zend/zend_objects.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c index bf985b12bc..35b237e132 100644 --- a/Zend/zend_objects.c +++ b/Zend/zend_objects.c @@ -33,8 +33,16 @@ ZEND_API void zend_object_std_init(zend_object *object, zend_class_entry *ce TSR object->ce = ce; object->properties = NULL; object->guards = NULL; - memset(object->properties_table, 0, sizeof(zval) * ce->default_properties_count); zend_objects_store_put(object); + if (EXPECTED(ce->default_properties_count != 0)) { + zval *p = object->properties_table; + zval *end = p + ce->default_properties_count; + + do { + ZVAL_UNDEF(p); + p++; + } while (p != end); + } } ZEND_API void zend_object_std_dtor(zend_object *object TSRMLS_DC) |