com php-src: fix CG(empty_string) init in ZTS: Zend/zend.c
| From: | Anatol Belski | Date: | Thu, 18 Sep 2014 15:14:54 +0000 |
| Subject: | com php-src: fix CG(empty_string) init in ZTS: Zend/zend.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-81729@lists.php.net to get a copy of this message | ||
Commit: e8b497ad8eb74273f7f44ae7e515e7a5e95b50f7
Author: Anatol Belski <ab@php.net> Thu, 18 Sep 2014 16:45:50 +0200
Parents: f162b3f736f07ad868abec6ea8b44a91e77d4069
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=e8b497ad8eb74273f7f44ae7e515e7a5e95b50f7
Log:
fix CG(empty_string) init in ZTS
Changed paths:
M Zend/zend.c
Diff:
diff --git a/Zend/zend.c b/Zend/zend.c
index 46719b4..6a53179 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -120,6 +120,7 @@ static HashTable *global_class_table = NULL;
static HashTable *global_constants_table = NULL;
static HashTable *global_auto_globals_table = NULL;
static HashTable *global_persistent_list = NULL;
+static zend_string *default_empty_string = NULL;
#endif
ZEND_API zend_utility_values zend_uv;
@@ -514,6 +515,15 @@ static void compiler_globals_ctor(zend_compiler_globals *compiler_globals
TSRMLS
compiler_globals->static_members_table = NULL;
}
compiler_globals->script_encoding_list = NULL;
+
+#ifdef ZTS
+ compiler_globals->empty_string = zend_string_alloc(sizeof("")-1, 1);
+ compiler_globals->empty_string->val[0] = '\000';
+ zend_string_hash_val(compiler_globals->empty_string);
+ compiler_globals->empty_string->gc.u.v.flags |= IS_STR_INTERNED;
+
+ memset(compiler_globals->one_char_string, 0, sizeof(compiler_globals->one_char_string));
+#endif
}
/* }}} */
@@ -538,6 +548,10 @@ static void compiler_globals_dtor(zend_compiler_globals *compiler_globals
TSRMLS
pefree((char*)compiler_globals->script_encoding_list, 1);
}
compiler_globals->last_static_member = 0;
+
+#ifdef ZTS
+ free(compiler_globals->empty_string);
+#endif
}
/* }}} */