summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_objects.c1
-rw-r--r--Zend/zend_objects_API.c4
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) {