diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2014-02-18 22:35:54 +0400 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2014-02-18 22:35:54 +0400 |
| commit | 110e01a21eef8827a0c449f23139e25a9e32e181 (patch) | |
| tree | b59d4e287cb5ecb928c6ec2eea8bef80d81cb179 | |
| parent | bb58ea348ca2c49a00417c75cc6cd64b5734a885 (diff) | |
| download | php-git-110e01a21eef8827a0c449f23139e25a9e32e181.tar.gz | |
Fixed object destruction
| -rw-r--r-- | Zend/zend_objects.c | 1 | ||||
| -rw-r--r-- | Zend/zend_objects_API.c | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c index 1f30477a59..2d14a6802c 100644 --- a/Zend/zend_objects.c +++ b/Zend/zend_objects.c @@ -30,6 +30,7 @@ ZEND_API void zend_object_std_init(zend_object *object, zend_class_entry *ce TSR { object->gc.refcount = 1; object->gc.u.v.type = IS_OBJECT; + object->gc.u.v.flags = 0; object->gc.u.v.buffer = 0; object->ce = ce; object->properties = NULL; diff --git a/Zend/zend_objects_API.c b/Zend/zend_objects_API.c index 4480512f39..f617e92da6 100644 --- a/Zend/zend_objects_API.c +++ b/Zend/zend_objects_API.c @@ -147,6 +147,8 @@ ZEND_API void zend_objects_store_del(zend_object *object TSRMLS_DC) /* {{{ */ } if (object->gc.refcount == 0) { + zend_uint handle = object->handle; + //??? GC_REMOVE_ZOBJ_FROM_BUFFER(obj); if (object->handlers->free_obj) { zend_try { @@ -155,7 +157,7 @@ ZEND_API void zend_objects_store_del(zend_object *object TSRMLS_DC) /* {{{ */ failure = 1; } zend_end_try(); } - ZEND_OBJECTS_STORE_ADD_TO_FREE_LIST(object->handle); + ZEND_OBJECTS_STORE_ADD_TO_FREE_LIST(handle); } if (failure) { |
