diff options
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | main/php_ini.c | 16 |
2 files changed, 11 insertions, 7 deletions
@@ -1,6 +1,8 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2004, PHP 5 Release Candidate 1 +- Fixed zero bytes memory allocation when no extra ini files are found in the + --with-config-file-scan-dir specified directory. (Eric Colinet, Derick) - Fixed start-up problem if both SPL and SimpleXML were enabled. The double initialization of apache 1.3 was causing problems here. (Marcus, Derick) diff --git a/main/php_ini.c b/main/php_ini.c index 8fd1c00f9a..d1c2872931 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -512,13 +512,15 @@ int php_init_config() * Don't need an extra byte for the \0 in this malloc as the last * element will not get a trailing , which gives us the byte for the \0 */ - php_ini_scanned_files = (char *) malloc(total_l); - *php_ini_scanned_files = '\0'; - for (element = scanned_ini_list.head; element; element = element->next) { - strcat(php_ini_scanned_files, *(char **)element->data); - strcat(php_ini_scanned_files, element->next ? ",\n" : "\n"); - } - zend_llist_destroy(&scanned_ini_list); + if (total_l) { + php_ini_scanned_files = (char *) malloc(total_l); + *php_ini_scanned_files = '\0'; + for (element = scanned_ini_list.head; element; element = element->next) { + strcat(php_ini_scanned_files, *(char **)element->data); + strcat(php_ini_scanned_files, element->next ? ",\n" : "\n"); + } + zend_llist_destroy(&scanned_ini_list); + } } } return SUCCESS; |