summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--sapi/cli/php_cli.c11
2 files changed, 12 insertions, 1 deletions
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;