]> granicus.if.org Git - php/commitdiff
GC related fix
authorDmitry Stogov <dmitry@zend.com>
Wed, 19 Mar 2014 13:25:19 +0000 (17:25 +0400)
committerDmitry Stogov <dmitry@zend.com>
Wed, 19 Mar 2014 13:25:19 +0000 (17:25 +0400)
Zend/zend_gc.c

index 57f9455fd1c2c2e79cb7556792f75427a33caa33..825facabbbc18e728853b1d3bab62253fb70a33f 100644 (file)
@@ -689,6 +689,7 @@ ZEND_API int gc_collect_cycles(TSRMLS_D)
 
                                        arr->gc.u.v.type = IS_NULL;
                                        zend_hash_destroy(&arr->ht);
+                                       GC_REMOVE_FROM_BUFFER(arr);
                                        efree(arr);
                                } else if (p->u.v.type == IS_REFERENCE) {
                                        zend_reference *ref = (zend_reference*)p;
@@ -698,6 +699,7 @@ ZEND_API int gc_collect_cycles(TSRMLS_D)
                                            Z_TYPE(ref->val) != IS_OBJECT) {
                                                zval_dtor(&ref->val);
                                        }
+                                       GC_REMOVE_FROM_BUFFER(ref);
                                        efree(ref);
                                } else {
 //???                                  zval_dtor(&p->z);