]> granicus.if.org Git - php/commitdiff
Fix bug #52786 (PHP should reset section to [PHP] after ini sections). Patch by
authorAdam Harvey <aharvey@php.net>
Thu, 9 Sep 2010 05:11:05 +0000 (05:11 +0000)
committerAdam Harvey <aharvey@php.net>
Thu, 9 Sep 2010 05:11:05 +0000 (05:11 +0000)
Fedora at famillecollet dot com.

main/php_ini.c

index 9edf62ccdcbeb7aad55df28fa4b70e3c37e2cd78..cbbf6dc41dedafd3a5e4825904912e240c314ae6 100644 (file)
@@ -201,6 +201,7 @@ PHPAPI void config_zval_dtor(zval *zvalue)
 /* Reset / free active_ini_sectin global */
 #define RESET_ACTIVE_INI_HASH() do { \
        active_ini_hash = NULL;          \
+       is_special_section = 0;          \
 } while (0)
 /* }}} */
 
@@ -650,9 +651,6 @@ int php_init_config(TSRMLS_D)
                zend_llist_element *element;
                int l, total_l = 0;
 
-               /* Reset active ini section */
-               RESET_ACTIVE_INI_HASH();
-
                if ((ndir = php_scandir(php_ini_scanned_path, &namelist, 0, php_alphasort)) > 0) {
                        zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1);
                        memset(&fh, 0, sizeof(fh));
@@ -664,6 +662,9 @@ int php_init_config(TSRMLS_D)
                                        free(namelist[i]);
                                        continue;
                                }
+                               /* Reset active ini section */
+                               RESET_ACTIVE_INI_HASH();
+
                                if (IS_SLASH(php_ini_scanned_path[php_ini_scanned_path_len - 1])) {
                                        snprintf(ini_file, MAXPATHLEN, "%s%s", php_ini_scanned_path, namelist[i]->d_name);
                                } else {