diff options
author | Bob Weinand <bobwei9@hotmail.com> | 2015-06-28 15:42:05 +0200 |
---|---|---|
committer | Bob Weinand <bobwei9@hotmail.com> | 2015-06-28 15:42:15 +0200 |
commit | 4a4529adb03a5e0d8c46809074a9bae37686e201 (patch) | |
tree | ccdacc0dd0756acf2567217f8c38d66c19f78523 /ext/opcache | |
parent | f70950d0049fad1a2de00396680618efa31485df (diff) | |
download | php-git-4a4529adb03a5e0d8c46809074a9bae37686e201.tar.gz |
Fix rope memory leaks upon exception
Diffstat (limited to 'ext/opcache')
-rw-r--r-- | ext/opcache/Optimizer/block_pass.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/opcache/Optimizer/block_pass.c b/ext/opcache/Optimizer/block_pass.c index fe20248fee..8694b4b61a 100644 --- a/ext/opcache/Optimizer/block_pass.c +++ b/ext/opcache/Optimizer/block_pass.c @@ -208,6 +208,7 @@ static int find_code_blocks(zend_op_array *op_array, zend_cfg *cfg, zend_optimiz if (op_array->brk_cont_array[i].start >= 0 && (op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_FREE || op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_FE_FREE || + op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_ROPE_END || op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_END_SILENCE)) { int parent = op_array->brk_cont_array[i].parent; @@ -215,6 +216,7 @@ static int find_code_blocks(zend_op_array *op_array, zend_cfg *cfg, zend_optimiz op_array->brk_cont_array[parent].start < 0 && (op_array->opcodes[op_array->brk_cont_array[parent].brk].opcode != ZEND_FREE || op_array->opcodes[op_array->brk_cont_array[parent].brk].opcode != ZEND_FE_FREE || + op_array->opcodes[op_array->brk_cont_array[i].brk].opcode != ZEND_ROPE_END || op_array->opcodes[op_array->brk_cont_array[parent].brk].opcode != ZEND_END_SILENCE)) { parent = op_array->brk_cont_array[parent].parent; } @@ -231,6 +233,7 @@ static int find_code_blocks(zend_op_array *op_array, zend_cfg *cfg, zend_optimiz if (op_array->brk_cont_array[i].start >= 0 && (op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_FREE || op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_FE_FREE || + op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_ROPE_END || op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_END_SILENCE)) { if (i != j) { op_array->brk_cont_array[j] = op_array->brk_cont_array[i]; |