diff options
author | Dmitry Stogov <dmitry@zend.com> | 2016-08-23 12:58:46 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2016-08-23 12:58:46 +0300 |
commit | 76707dc20418b3922d81de1166679587fcb66eb2 (patch) | |
tree | 9dfd2fa6779034c25685068ff41d31a427424986 | |
parent | 62ab40bc9642798a9af0435ef3284a4f5d9bf6d4 (diff) | |
download | php-git-76707dc20418b3922d81de1166679587fcb66eb2.tar.gz |
Don't keep dangling pointers.
-rw-r--r-- | ext/opcache/Optimizer/zend_optimizer.c | 5 |
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 |