summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-08-23 12:58:46 +0300
committerDmitry Stogov <dmitry@zend.com>2016-08-23 12:58:46 +0300
commit76707dc20418b3922d81de1166679587fcb66eb2 (patch)
tree9dfd2fa6779034c25685068ff41d31a427424986
parent62ab40bc9642798a9af0435ef3284a4f5d9bf6d4 (diff)
downloadphp-git-76707dc20418b3922d81de1166679587fcb66eb2.tar.gz
Don't keep dangling pointers.
-rw-r--r--ext/opcache/Optimizer/zend_optimizer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c
index 113a1a5f83..3092b9635f 100644
--- a/ext/opcache/Optimizer/zend_optimizer.c
+++ b/ext/opcache/Optimizer/zend_optimizer.c
@@ -947,12 +947,15 @@ int zend_optimize_script(zend_script *script, zend_long optimization_level, zend
func_info = ZEND_FUNC_INFO(call_graph.op_arrays[i]);
if (func_info && func_info->ssa.var_info) {
zend_redo_pass_two_ex(call_graph.op_arrays[i], &func_info->ssa);
- ZEND_SET_FUNC_INFO(call_graph.op_arrays[i], NULL);
} else {
zend_redo_pass_two(call_graph.op_arrays[i]);
}
}
+ for (i = 0; i < call_graph.op_arrays_count; i++) {
+ ZEND_SET_FUNC_INFO(call_graph.op_arrays[i], NULL);
+ }
+
zend_arena_release(&ctx.arena, checkpoint);
} else
#endif