From ce984d7667b47063d241da027e6a92dd2df36a84 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Sat, 14 Feb 2004 13:33:36 +0000 Subject: [PATCH] dtor's may not be called from free_storage handlers --- Zend/zend_iterators.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Zend/zend_iterators.c b/Zend/zend_iterators.c index c621bcb900..17d37da814 100755 --- a/Zend/zend_iterators.c +++ b/Zend/zend_iterators.c @@ -54,7 +54,7 @@ ZEND_API void zend_register_iterator_wrapper(TSRMLS_D) zend_iterator_class_entry.name = "__iterator_wrapper"; } -static void iter_wrapper_free_storage(zend_object *object TSRMLS_DC) +static void iter_wrapper_dtor(void *object, zend_object_handle handle TSRMLS_DC) { zend_object_iterator *iter = (zend_object_iterator*)object; iter->funcs->dtor(iter TSRMLS_CC); @@ -66,7 +66,7 @@ ZEND_API zval *zend_iterator_wrap(zend_object_iterator *iter TSRMLS_DC) MAKE_STD_ZVAL(wrapped); Z_TYPE_P(wrapped) = IS_OBJECT; - wrapped->value.obj.handle = zend_objects_store_put(iter, NULL, iter_wrapper_free_storage, NULL TSRMLS_CC); + wrapped->value.obj.handle = zend_objects_store_put(iter, iter_wrapper_dtor, NULL, NULL TSRMLS_CC); wrapped->value.obj.handlers = &iterator_object_handlers; return wrapped; -- 2.40.0