From f4106441cb85478f589ee921cd570795cfd8f9ce Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Mon, 19 Jun 2006 14:52:34 +0000 Subject: [PATCH] - Fix Bug #37780 memory leak trying to execute a non existing file (CLI) --- NEWS | 2 ++ sapi/cli/php_cli.c | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 1ed2d21639..fa33aeccba 100644 --- a/NEWS +++ b/NEWS @@ -63,6 +63,8 @@ PHP NEWS - Fixed memory leaks in openssl streams context options. (Pierre) - Fixed handling of extremely long paths inside tempnam() function. (Ilia) +- Fixed bug #37780 (memory leak trying to execute a non existing file (CLI)). + (Mike) - Fixed bug #37747 (strtotime segfaults when given "nextyear"). (Derick) - Fixed bug #37720 (merge_php_config scrambles values). (Mike, pumuckel at metropolis dot de) diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c index 15f6918125..684d7f9e45 100644 --- a/sapi/cli/php_cli.c +++ b/sapi/cli/php_cli.c @@ -305,6 +305,14 @@ static char* sapi_cli_read_cookies(TSRMLS_D) return NULL; } +static int sapi_cli_header_handler(sapi_header_struct *h, sapi_headers_struct *s TSRMLS_DC) +{ + /* free allocated header line */ + efree(h->header); + /* avoid pushing headers into SAPI headers list */ + return 0; +} + static int sapi_cli_send_headers(sapi_headers_struct *sapi_headers TSRMLS_DC) { /* We do nothing here, this function is needed to prevent that the fallback @@ -370,7 +378,7 @@ static sapi_module_struct cli_sapi_module = { php_error, /* error handler */ - NULL, /* header handler */ + sapi_cli_header_handler, /* header handler */ sapi_cli_send_headers, /* send headers handler */ sapi_cli_send_header, /* send header handler */ @@ -1255,6 +1263,7 @@ out_err: exit(exit_status); err: + sapi_deactivate(TSRMLS_C); zend_ini_deactivate(TSRMLS_C); exit_status = 1; goto out_err; -- 2.40.0