diff options
author | Xinchen Hui <laruence@php.net> | 2013-08-30 11:20:24 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2013-08-30 11:20:24 +0800 |
commit | 7da6498342d76c34892bfa247bc1779d8f5ee1e6 (patch) | |
tree | d9a9ad5e7e209e21807c9f783fc4bd111ec0cd21 /Zend/zend_objects_API.c | |
parent | dfc6feb6e84f27094e6a2e3947caa094f7c35d26 (diff) | |
download | php-git-7da6498342d76c34892bfa247bc1779d8f5ee1e6.tar.gz |
Fixed bug #60598 (cli/apache sapi segfault on objects manipulation)
Diffstat (limited to 'Zend/zend_objects_API.c')
-rw-r--r-- | Zend/zend_objects_API.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_objects_API.c b/Zend/zend_objects_API.c index 1fe5d0c199..b5dd48f798 100644 --- a/Zend/zend_objects_API.c +++ b/Zend/zend_objects_API.c @@ -57,6 +57,11 @@ ZEND_API void zend_objects_store_call_destructors(zend_objects_store *objects TS obj->dtor(obj->object, i TSRMLS_CC); obj = &objects->object_buckets[i].bucket.obj; obj->refcount--; + + if (obj->refcount == 0) { + /* in case gc_collect_cycle is triggered before free_storage */ + GC_REMOVE_ZOBJ_FROM_BUFFER(obj); + } } } } |