]> granicus.if.org Git - php/commitdiff
fixed reference counting
authorDmitry Stogov <dmitry@zend.com>
Tue, 2 Sep 2014 07:24:52 +0000 (11:24 +0400)
committerDmitry Stogov <dmitry@zend.com>
Tue, 2 Sep 2014 07:24:52 +0000 (11:24 +0400)
ext/intl/locale/locale_methods.c
ext/reflection/php_reflection.c
ext/standard/basic_functions.c
sapi/apache/mod_php5.c
win32/registry.c

index 81978850eeaed0321e6dea3682e0bdacd1f1cdec..4cafd029828c5283383e207c62754679b67f986a 100644 (file)
@@ -243,6 +243,9 @@ PHP_NAMED_FUNCTION(zif_locale_set_default)
        ini_name = zend_string_init(LOCALE_INI_NAME, sizeof(LOCALE_INI_NAME) - 1, 0);
        zend_alter_ini_entry(ini_name, locale_name, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);       
        zend_string_release(ini_name);
+       if (default_locale != NULL) {
+               zend_string_release(locale_name);
+       }
 
        RETURN_TRUE;
 }
index a2c88044fd8e81a6bbee3af8f5866c940ef8ca40..ad6a2fb841725bf90b274c49a0fab72d59f4522e 100644 (file)
@@ -5280,7 +5280,7 @@ static int _addinientry(zval *el TSRMLS_DC, int num_args, va_list args, zend_has
                if (ini_entry->value) {
                        zval zv;
 
-                       ZVAL_STR(&zv, ini_entry->value);
+                       ZVAL_STR(&zv, zend_string_copy(ini_entry->value));
                        zend_symtable_update(Z_ARRVAL_P(retval), ini_entry->name, &zv);
                } else {
                        zend_symtable_update(Z_ARRVAL_P(retval), ini_entry->name, &EG(uninitialized_zval));
index 2f5c5b651ea690b36ac37e6026dc6d0e92a60824..b45db8a9b492e9a3ed8b9059328f3eb7c6625a6b 100644 (file)
@@ -5254,7 +5254,7 @@ static int php_ini_get_option(zval *zv TSRMLS_DC, int num_args, va_list args, ze
                        if (ini_entry->value) {
                                zval zv;
 
-                               ZVAL_STR(&zv, ini_entry->value);
+                               ZVAL_STR(&zv, zend_string_copy(ini_entry->value));
                                zend_symtable_update(Z_ARRVAL_P(ini_array), ini_entry->name, &zv);
                        } else {
                                zend_symtable_update(Z_ARRVAL_P(ini_array), ini_entry->name, &EG(uninitialized_zval));
index a78b8dc913b552994c0ff5585e723d80f39299e6..04ff6e5d30ad55d9b55cb818cbaed50fc003d7ef 100644 (file)
@@ -567,7 +567,7 @@ static void init_request_info(TSRMLS_D)
 static int php_apache_alter_ini_entries(php_per_dir_entry *per_dir_entry TSRMLS_DC)
 {
        zend_string *key = STR_INIT(per_dir_entry->key, per_dir_entry->key_length, 0);
-       zend_alter_ini_entry(key, per_dir_entry->value, per_dir_entry->value_length, per_dir_entry->type, per_dir_entry->htaccess?PHP_INI_STAGE_HTACCESS:PHP_INI_STAGE_ACTIVATE);
+       zend_alter_ini_entry_chars(key, per_dir_entry->value, per_dir_entry->value_length, per_dir_entry->type, per_dir_entry->htaccess?PHP_INI_STAGE_HTACCESS:PHP_INI_STAGE_ACTIVATE);
        STR_RELEASE(key);
        return 0;
 }
index 8ed838b1d12236fe1eb5a838ebef38540cf01697..10372cd624ef1a51151dabded42223a95c59e756 100644 (file)
@@ -244,7 +244,7 @@ void UpdateIniFromRegistry(char *path TSRMLS_DC)
                        zval *data;
 
                        ZEND_HASH_FOREACH_KEY_VAL(ht, num, index, data) {
-                               zend_alter_ini_entry(index, Z_STRVAL_P(data), Z_STRLEN_P(data), PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);
+                               zend_alter_ini_entry(index, Z_STR_P(data), PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);
                        } ZEND_HASH_FOREACH_END();      
 /*
                        for (zend_hash_internal_pointer_reset_ex(ht, &pos);