]> granicus.if.org Git - php/commitdiff
- Fixed crash when calling sapi_shutdown() and sapi hasn't been started
authorFelipe Pena <felipe@php.net>
Sat, 25 Jun 2011 14:17:17 +0000 (14:17 +0000)
committerFelipe Pena <felipe@php.net>
Sat, 25 Jun 2011 14:17:17 +0000 (14:17 +0000)
Reported by: David Tajchreber

sapi/cli/php_cli.c

index cdce8364455e33c59929a38d78782d20761f49cf..14ac439a869678a450027d99623ab9c772061096 100644 (file)
@@ -1194,7 +1194,7 @@ int main(int argc, char *argv[])
 #endif
        int c;
        int exit_status = SUCCESS;
-       int module_started = 0;
+       int module_started = 0, sapi_started = 0;
        char *php_optarg = NULL;
        int php_optind = 1;
        char *ini_path_override = NULL;
@@ -1312,6 +1312,7 @@ exit_loop:
        sapi_module->phpinfo_as_text = 1;
        sapi_module->php_ini_ignore_cwd = 1;
        sapi_startup(sapi_module);
+       sapi_started = 1;
 
        sapi_module->php_ini_ignore = ini_ignore;
 
@@ -1364,7 +1365,9 @@ out:
        if (module_started) {
                php_module_shutdown(TSRMLS_C);
        }
-       sapi_shutdown();
+       if (sapi_started) {
+               sapi_shutdown();
+       }
 #ifdef ZTS
        tsrm_shutdown();
 #endif