dmitry Tue Aug 22 12:05:10 2006 UTC
Modified files:
/php-src/sapi/cli php_cli.c
Log:
Fixed bug #38543 (shutdown_executor() may segfault when memory_limit is too
low).
http://cvs.php.net/viewvc.cgi/php-src/sapi/cli/php_cli.c?r1=1.160&r2=1.161&diff_format=u
Index: php-src/sapi/cli/php_cli.c
diff -u php-src/sapi/cli/php_cli.c:1.160 php-src/sapi/cli/php_cli.c:1.161
--- php-src/sapi/cli/php_cli.c:1.160 Tue Jun 27 08:26:54 2006
+++ php-src/sapi/cli/php_cli.c Tue Aug 22 12:05:10 2006
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_cli.c,v 1.160 2006/06/27 08:26:54 tony2001 Exp $ */
+/* $Id: php_cli.c,v 1.161 2006/08/22 12:05:10 dmitry Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -577,6 +577,7 @@
char *script_file=NULL;
int interactive=0;
int module_started = 0;
+ int request_started = 0;
int lineno = 0;
char *exec_direct=NULL, *exec_run=NULL, *exec_begin=NULL,
*exec_end=NULL;
const char *param_error=NULL;
@@ -713,6 +714,7 @@
if (php_request_startup(TSRMLS_C)==FAILURE) {
goto err;
}
+ request_started = 1;
php_cli_usage(argv[0]);
php_output_end_all(TSRMLS_C);
exit_status=0;
@@ -722,6 +724,7 @@
if (php_request_startup(TSRMLS_C)==FAILURE) {
goto err;
}
+ request_started = 1;
php_print_info(0xFFFFFFFF TSRMLS_CC);
php_output_end_all(TSRMLS_C);
exit_status=0;
@@ -731,6 +734,7 @@
if (php_request_startup(TSRMLS_C)==FAILURE) {
goto err;
}
+ request_started = 1;
php_printf("[PHP Modules]\n");
print_modules(TSRMLS_C);
php_printf("\n[Zend Modules]\n");
@@ -745,6 +749,7 @@
goto err;
}
+ request_started = 1;
php_printf("PHP %s (%s) (built: %s %s)
%s\nCopyright (c) 1997-2006 The PHP Group\n%s",
PHP_VERSION, sapi_module.name,
__DATE__, __TIME__,
#if ZEND_DEBUG && defined(HAVE_GCOV)
@@ -995,10 +1000,10 @@
if (php_request_startup(TSRMLS_C)==FAILURE) {
*arg_excp = arg_free;
fclose(file_handle.handle.fp);
- php_request_shutdown((void *) 0);
PUTS("Could not startup.\n");
goto err;
}
+ request_started = 1;
CG(start_lineno) = lineno;
*arg_excp = arg_free; /* reconstuct argv */
@@ -1252,7 +1257,9 @@
} zend_end_try();
out:
- php_request_shutdown((void *) 0);
+ if (request_started) {
+ php_request_shutdown((void *) 0);
+ }
if (exit_status == 0) {
exit_status = EG(exit_status);
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php