From aa472500e173653bf5704d5e311da5c055f2ee7c Mon Sep 17 00:00:00 2001 From: Andi Gutmans Date: Thu, 11 Mar 2004 13:27:18 +0000 Subject: - Attempt to fix bug #27535 --- Zend/zend_objects_API.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Zend/zend_objects_API.c') diff --git a/Zend/zend_objects_API.c b/Zend/zend_objects_API.c index 8e4f3a4a10..d372d3d960 100644 --- a/Zend/zend_objects_API.c +++ b/Zend/zend_objects_API.c @@ -65,6 +65,7 @@ ZEND_API void zend_objects_store_free_object_storage(zend_objects_store *objects if (objects->object_buckets[i].valid) { struct _store_object *obj = &objects->object_buckets[i].bucket.obj; + objects->object_buckets[i].valid = 0; if (obj->free_storage) { obj->free_storage(obj->object TSRMLS_CC); } @@ -140,7 +141,7 @@ ZEND_API void zend_objects_store_del_ref(zval *zobject TSRMLS_DC) } } if (obj->refcount == 1) { - if (obj->free_storage) { + if (obj->free_storage && EG(objects_store).object_buckets[handle].valid) { obj->free_storage(obj->object TSRMLS_CC); } ZEND_OBJECTS_STORE_ADD_TO_FREE_LIST(); -- cgit v1.2.1