diff options
author | Johannes Schlüter <johannes@php.net> | 2012-06-27 23:26:33 +0200 |
---|---|---|
committer | Johannes Schlüter <johannes@php.net> | 2012-06-27 23:26:33 +0200 |
commit | b025b9d0cf9921d26fc4dad43cf26390d0a8c5dd (patch) | |
tree | 83283740921be3cb88d9f833c1a850d07fae5fbb /ext/spl/spl_directory.c | |
parent | 4662151ea7d7b6920d115cf2a2d6e9d4232727a3 (diff) | |
download | php-git-b025b9d0cf9921d26fc4dad43cf26390d0a8c5dd.tar.gz |
Fix #62432 ReflectionMethod random corrupt memory on high concurrent
This fixes the same issue in multiple extensions. This isn't needed
in later branches as 5.4 introduced object_properties_init()
Diffstat (limited to 'ext/spl/spl_directory.c')
-rwxr-xr-x | ext/spl/spl_directory.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c index aaa256de7b..4f8edb5211 100755 --- a/ext/spl/spl_directory.c +++ b/ext/spl/spl_directory.c @@ -158,7 +158,7 @@ static zend_object_value spl_filesystem_object_new_ex(zend_class_entry *class_ty if (obj) *obj = intern; zend_object_std_init(&intern->std, class_type TSRMLS_CC); - zend_hash_copy(intern->std.properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *)); + zend_hash_copy(intern->std.properties, &class_type->default_properties, (copy_ctor_func_t) zval_property_ctor, (void *) &tmp, sizeof(zval *)); retval.handle = zend_objects_store_put(intern, (zend_objects_store_dtor_t) zend_objects_destroy_object, (zend_objects_free_object_storage_t) spl_filesystem_object_free_storage, NULL TSRMLS_CC); retval.handlers = &spl_filesystem_object_handlers; |