summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_list.c
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2016-10-06 10:36:12 +0200
committerBob Weinand <bobwei9@hotmail.com>2016-10-06 10:36:25 +0200
commitc9d3b9fb475861d03e7d9b913a12527a2023e152 (patch)
tree4f99bc21da1e1954ddc08a1ca6ef5391fafa5f23 /sapi/phpdbg/phpdbg_list.c
parentb2d53e47ed0a141078c41331d4c232db979be967 (diff)
downloadphp-git-c9d3b9fb475861d03e7d9b913a12527a2023e152.tar.gz
Use better fix for preventing too early freeing of interned strings
Works also with opcache now - just prevent zend_interned_strings_restore completely - zend_interned_strings_dtor will take care as phpdbg only ever uses one single request cycle per module cycle
Diffstat (limited to 'sapi/phpdbg/phpdbg_list.c')
-rw-r--r--sapi/phpdbg/phpdbg_list.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/sapi/phpdbg/phpdbg_list.c b/sapi/phpdbg/phpdbg_list.c
index dd0187cfbe..86a2132b74 100644
--- a/sapi/phpdbg/phpdbg_list.c
+++ b/sapi/phpdbg/phpdbg_list.c
@@ -317,17 +317,6 @@ zend_op_array *phpdbg_init_compile_file(zend_file_handle *file, int type) {
dataptr = zend_hash_str_find_ptr(&PHPDBG_G(file_sources), filename, strlen(filename));
ZEND_ASSERT(dataptr != NULL);
- if (op_array->vars) {
- int i;
- /* un-intern these strings to prevent zend_interned_strings_restore from invalidating our string pointers too early (in phpdbg allocated memory only gets freed after module shutdown) */
- for (i = 0; i < op_array->last_var; i++) {
- zend_string **s = op_array->vars + i;
- if (ZSTR_IS_INTERNED(*s)) {
- *s = zend_string_init(ZSTR_VAL(*s), ZSTR_LEN(*s), 0);
- }
- }
- }
-
dataptr->op_array = *op_array;
if (dataptr->op_array.refcount) {
++*dataptr->op_array.refcount;