summaryrefslogtreecommitdiff
path: root/Zend/zend_objects.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_objects.c')
-rw-r--r--Zend/zend_objects.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c
index 1e362e678d..1c0381f8fa 100644
--- a/Zend/zend_objects.c
+++ b/Zend/zend_objects.c
@@ -35,7 +35,6 @@ ZEND_API void ZEND_FASTCALL zend_object_std_init(zend_object *object, zend_class
object->properties = NULL;
zend_objects_store_put(object);
if (UNEXPECTED(ce->ce_flags & ZEND_ACC_USE_GUARDS)) {
- OBJ_FLAGS(object) |= IS_OBJ_USE_GUARDS;
ZVAL_UNDEF(object->properties_table + object->ce->default_properties_count);
}
}
@@ -59,13 +58,12 @@ ZEND_API void zend_object_std_dtor(zend_object *object)
p++;
} while (p != end);
}
- if (UNEXPECTED(OBJ_FLAGS(object) & IS_OBJ_HAS_GUARDS)) {
+ if (UNEXPECTED(object->ce->ce_flags & ZEND_ACC_USE_GUARDS)) {
if (EXPECTED(Z_TYPE_P(p) == IS_STRING)) {
zend_string_release(Z_STR_P(p));
- } else {
+ } else if (Z_TYPE_P(p) == IS_ARRAY) {
HashTable *guards;
- ZEND_ASSERT(Z_TYPE_P(p) == IS_ARRAY);
guards = Z_ARRVAL_P(p);
ZEND_ASSERT(guards != NULL);
zend_hash_destroy(guards);