com php-src: Don't keep dangling pointers.: ext/opcache/Optimiz er/zend_optimizer.c
| From: | Dmitry Stogov | Date: | Tue, 23 Aug 2016 09:58:46 +0000 |
| Subject: | com php-src: Don't keep dangling pointers.: ext/opcache/Optimiz er/zend_optimizer.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-94050@lists.php.net to get a copy of this message | ||
Commit: 76707dc20418b3922d81de1166679587fcb66eb2
Author: Dmitry Stogov <dmitry@zend.com> Tue, 23 Aug 2016 12:58:46 +0300
Parents: 62ab40bc9642798a9af0435ef3284a4f5d9bf6d4
Branches: PHP-7.1 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=76707dc20418b3922d81de1166679587fcb66eb2
Log:
Don't keep dangling pointers.
Changed paths:
M ext/opcache/Optimizer/zend_optimizer.c
Diff:
diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c
index 113a1a5..3092b96 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