summaryrefslogtreecommitdiff
path: root/Zend/zend_ini.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2020-06-10 11:21:13 +0800
committerXinchen Hui <laruence@gmail.com>2020-06-10 11:21:13 +0800
commit28b4761ecb4f28c08cf03aef1bbd1beba96b6168 (patch)
tree47fe61891f91f4d851a39667cb5e07577e01826b /Zend/zend_ini.c
parenta60cdcf0844ca25a8113b676e7fc2b2ed83c16de (diff)
parenta297c09da5ad355d53a8e8ea72655a06d15b7bc7 (diff)
downloadphp-git-28b4761ecb4f28c08cf03aef1bbd1beba96b6168.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: Partial fixed bug #79649 (Altering disable_functions from module init corrupts memory)
Diffstat (limited to 'Zend/zend_ini.c')
-rw-r--r--Zend/zend_ini.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/Zend/zend_ini.c b/Zend/zend_ini.c
index 279dcae03c..830de07233 100644
--- a/Zend/zend_ini.c
+++ b/Zend/zend_ini.c
@@ -335,15 +335,17 @@ ZEND_API int zend_alter_ini_entry_ex(zend_string *name, zend_string *new_value,
}
}
- if (!EG(modified_ini_directives)) {
- ALLOC_HASHTABLE(EG(modified_ini_directives));
- zend_hash_init(EG(modified_ini_directives), 8, NULL, NULL, 0);
- }
- if (!modified) {
- ini_entry->orig_value = ini_entry->value;
- ini_entry->orig_modifiable = modifiable;
- ini_entry->modified = 1;
- zend_hash_add_ptr(EG(modified_ini_directives), ini_entry->name, ini_entry);
+ if (ini_entry->modifiable != ZEND_INI_SYSTEM) {
+ if (!EG(modified_ini_directives)) {
+ ALLOC_HASHTABLE(EG(modified_ini_directives));
+ zend_hash_init(EG(modified_ini_directives), 8, NULL, NULL, 0);
+ }
+ if (!modified) {
+ ini_entry->orig_value = ini_entry->value;
+ ini_entry->orig_modifiable = modifiable;
+ ini_entry->modified = 1;
+ zend_hash_add_ptr(EG(modified_ini_directives), ini_entry->name, ini_entry);
+ }
}
duplicate = zend_string_copy(new_value);