From 5aa3a33fde0e9e59a7363d40cf4b446364f0623a Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Tue, 16 Jun 2015 14:14:25 +0200 Subject: [PATCH] fix leaks --- php_http_message.c | 6 ++++++ php_http_message_body.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/php_http_message.c b/php_http_message.c index de1f98f..d61644c 100644 --- a/php_http_message.c +++ b/php_http_message.c @@ -843,10 +843,16 @@ void php_http_message_object_free(zend_object *object) o->message = NULL; } if (o->parent) { + if (GC_REFCOUNT(&o->parent->zo) == 1) { + zend_objects_store_del(&o->parent->zo); + } zend_objects_store_del(&o->parent->zo); o->parent = NULL; } if (o->body) { + if (GC_REFCOUNT(&o->body->zo) == 1) { + zend_objects_store_del(&o->body->zo); + } zend_objects_store_del(&o->body->zo); o->body = NULL; } diff --git a/php_http_message_body.c b/php_http_message_body.c index 535c541..ab5b7ba 100644 --- a/php_http_message_body.c +++ b/php_http_message_body.c @@ -93,7 +93,7 @@ void php_http_message_body_free(php_http_message_body_t **body_ptr) php_http_message_body_t *body = *body_ptr; if (!--body->refcount) { - //zend_list_close(body->res); + zend_list_delete(body->res); PTR_FREE(body->boundary); efree(body); } -- 2.30.2