From: Michael Wallner Date: Wed, 12 Dec 2012 18:14:54 +0000 (+0000) Subject: fix leak with vararg zend_parse_parameters X-Git-Tag: RELEASE_2_1_0_RC3~10^2^2~72 X-Git-Url: https://git.m6w6.name/?a=commitdiff_plain;h=181671a28686defeb8504bba7dd0b1ba7c9d4741;hp=f67e69874fc670c9ee1944349c227c6df6d25a80;p=m6w6%2Fext-http fix leak with vararg zend_parse_parameters --- 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(); }