diff options
Diffstat (limited to 'Zend/zend_generators.c')
-rw-r--r-- | Zend/zend_generators.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c index 922c6a3f2b..449a374683 100644 --- a/Zend/zend_generators.c +++ b/Zend/zend_generators.c @@ -44,7 +44,7 @@ static void zend_generator_cleanup_unfinished_execution(zend_generator *generato { /* -1 required because we want the last run opcode, not the * next to-be-run one. */ - zend_uint op_num = execute_data->opline - op_array->opcodes - 1; + uint32_t op_num = execute_data->opline - op_array->opcodes - 1; int i; for (i = 0; i < op_array->last_brk_cont; ++i) { @@ -130,7 +130,7 @@ ZEND_API void zend_generator_close(zend_generator *generator, zend_bool finished /* Free a clone of closure */ if (op_array->fn_flags & ZEND_ACC_CLOSURE) { destroy_op_array(op_array TSRMLS_CC); - efree(op_array); + efree_size(op_array, sizeof(zend_op_array)); } efree(generator->stack); @@ -143,10 +143,10 @@ static void zend_generator_dtor_storage(zend_object *object TSRMLS_DC) /* {{{ */ { zend_generator *generator = (zend_generator*) object; zend_execute_data *ex = generator->execute_data; - zend_uint op_num, finally_op_num; + uint32_t op_num, finally_op_num; int i; - if (!ex || !ex->func->op_array.has_finally_block) { + if (!ex || !(ex->func->op_array.fn_flags & ZEND_ACC_HAS_FINALLY_BLOCK)) { return; } |