From: Dmitry Stogov Date: Fri, 21 Mar 2014 17:35:47 +0000 (+0400) Subject: cosure->debug_info is not a subject for GC X-Git-Tag: POST_PHPNG_MERGE~412^2~241 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5c169160e6a950dc3e5e36363947612bf26cc652;p=php cosure->debug_info is not a subject for GC --- diff --git a/Zend/zend_closures.c b/Zend/zend_closures.c index 61808927f1..9b4c2b4bce 100644 --- a/Zend/zend_closures.c +++ b/Zend/zend_closures.c @@ -359,6 +359,12 @@ static HashTable *zend_closure_get_gc(zval *obj, zval **table, int *n TSRMLS_DC) { zend_closure *closure = (zend_closure *)Z_OBJ_P(obj); + if (closure->debug_info != NULL) { + zend_hash_destroy(closure->debug_info); + efree(closure->debug_info); + closure->debug_info = NULL; + } + *table = Z_TYPE(closure->this_ptr) != IS_NULL ? &closure->this_ptr : NULL; *n = Z_TYPE(closure->this_ptr) != IS_NULL ? 1 : 0; return (closure->func.type == ZEND_USER_FUNCTION) ?