]> granicus.if.org Git - php/commitdiff
- Fix a possible leak when multiple -c parameters are used
authorfoobar <sniper@php.net>
Tue, 17 Apr 2007 20:00:53 +0000 (20:00 +0000)
committerfoobar <sniper@php.net>
Tue, 17 Apr 2007 20:00:53 +0000 (20:00 +0000)
sapi/cgi/cgi_main.c

index 4b7695456817ca33ff8e0910f88a382e3f3a45f6..473a074231998dbfdb004f8e4669546db18eaf49 100644 (file)
@@ -1151,6 +1151,7 @@ int main(int argc, char *argv[])
 #endif
 
        sapi_startup(&cgi_sapi_module);
+       cgi_sapi_module.php_ini_path_override = NULL;
 
 #ifdef PHP_WIN32
        _fmode = _O_BINARY; /* sets default for file streams to binary */
@@ -1178,6 +1179,9 @@ int main(int argc, char *argv[])
        while ((c = php_getopt(argc, argv, OPTIONS, &php_optarg, &php_optind, 0)) != -1) {
                switch (c) {
                        case 'c':
+                               if (cgi_sapi_module.php_ini_path_override) {
+                                       free(cgi_sapi_module.php_ini_path_override);
+                               }
                                cgi_sapi_module.php_ini_path_override = strdup(php_optarg);
                                break;
                        case 'n':