diff options
Diffstat (limited to 'Zend/zend_objects_API.c')
| -rw-r--r-- | Zend/zend_objects_API.c | 12 | 
1 files changed, 4 insertions, 8 deletions
| diff --git a/Zend/zend_objects_API.c b/Zend/zend_objects_API.c index 6ca190eabe..00d9425f18 100644 --- a/Zend/zend_objects_API.c +++ b/Zend/zend_objects_API.c @@ -44,12 +44,9 @@ ZEND_API void zend_objects_store_destroy(zend_objects_store *objects)  ZEND_API void zend_objects_store_call_destructors(zend_objects_store *objects)  {  	if (objects->top > 1) { -		zend_object **obj_ptr = objects->object_buckets + 1; -		zend_object **end = objects->object_buckets + objects->top; - -		do { -			zend_object *obj = *obj_ptr; - +		uint32_t i; +		for (i = 1; i < objects->top; i++) { +			zend_object *obj = objects->object_buckets[i];  			if (IS_OBJ_VALID(obj)) {  				if (!(GC_FLAGS(obj) & IS_OBJ_DESTRUCTOR_CALLED)) {  					GC_FLAGS(obj) |= IS_OBJ_DESTRUCTOR_CALLED; @@ -58,8 +55,7 @@ ZEND_API void zend_objects_store_call_destructors(zend_objects_store *objects)  					GC_REFCOUNT(obj)--;  				}  			} -			obj_ptr++; -		} while (obj_ptr != end); +		}  	}  } | 
