diff options
-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) { |