]> granicus.if.org Git - php/commitdiff
MFB52: Fix Bug #37780 memory leak trying to execute a non existing file (CLI)
authorMichael Wallner <mike@php.net>
Mon, 19 Jun 2006 14:53:03 +0000 (14:53 +0000)
committerMichael Wallner <mike@php.net>
Mon, 19 Jun 2006 14:53:03 +0000 (14:53 +0000)
sapi/cli/php_cli.c

index 8fe2d03aa979208904ecafe3ae196d5cbdcf9ed0..ccb3f4152bb79e54717134205f66b9282de847db 100644 (file)
@@ -313,6 +313,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
@@ -374,7 +382,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 */
 
@@ -1254,6 +1262,7 @@ out_err:
        return exit_status;
 
 err:
+       sapi_deactivate(TSRMLS_C);
        zend_ini_deactivate(TSRMLS_C);
        exit_status = 1;
        goto out_err;