mirror of
https://github.com/php/php-src.git
synced 2024-12-20 07:20:33 +08:00
Improve fix for #76046
Also locate the JMP at the start of the foreach. Patch suggested by Derick.
This commit is contained in:
parent
d6595f276f
commit
b565c85b9e
@ -4797,6 +4797,10 @@ void zend_compile_foreach(zend_ast *ast) /* {{{ */
|
||||
|
||||
zend_compile_stmt(stmt_ast);
|
||||
|
||||
/* Place JMP and FE_FREE on the line where foreach starts. It would be
|
||||
* better to use the end line, but this information is not available
|
||||
* currently. */
|
||||
CG(zend_lineno) = ast->lineno;
|
||||
zend_emit_jump(opnum_fetch);
|
||||
|
||||
opline = &CG(active_op_array)->opcodes[opnum_reset];
|
||||
@ -4807,7 +4811,6 @@ void zend_compile_foreach(zend_ast *ast) /* {{{ */
|
||||
|
||||
zend_end_loop(opnum_fetch, &reset_node);
|
||||
|
||||
CG(zend_lineno) = ast->lineno;
|
||||
opline = zend_emit_op(NULL, ZEND_FE_FREE, &reset_node, NULL);
|
||||
}
|
||||
/* }}} */
|
||||
|
Loading…
Reference in New Issue
Block a user