From 181671a28686defeb8504bba7dd0b1ba7c9d4741 Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Wed, 12 Dec 2012 18:14:54 +0000 Subject: [PATCH] fix leak with vararg zend_parse_parameters --- php_http_client_factory.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/php_http_client_factory.c b/php_http_client_factory.c index 1b14f48..87c4419 100644 --- a/php_http_client_factory.c +++ b/php_http_client_factory.c @@ -228,6 +228,10 @@ PHP_METHOD(HttpClientFactory, createPool) php_http_error(HE_WARNING, PHP_HTTP_E_REQUEST_FACTORY, "pools are not supported by this driver"); } } end_error_handling(); + + if (argv) { + efree(argv); + } } } end_error_handling(); } @@ -235,7 +239,7 @@ PHP_METHOD(HttpClientFactory, createPool) PHP_METHOD(HttpClientFactory, createDataShare) { int argc = 0; - zval ***argv; + zval ***argv = NULL; with_error_handling(EH_THROW, php_http_exception_get_class_entry()) { if (SUCCESS == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "*", &argv, &argc)) { @@ -289,6 +293,9 @@ PHP_METHOD(HttpClientFactory, createDataShare) php_http_error(HE_WARNING, PHP_HTTP_E_REQUEST_FACTORY, "datashares are not supported by this driver"); } } end_error_handling(); + if (argv) { + efree(argv); + } } } end_error_handling(); } -- 2.30.2