From d6595f276fff44aa5d1d2dde7238d540a267d0dd Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 27 Nov 2018 16:37:55 +0100 Subject: [PATCH] Fixed bug #76046 Place FE_FREE on start line of foreach, instead of whatever random line number might be in CG(zend_lineno) at the time. --- NEWS | 2 ++ Zend/zend_compile.c | 1 + 2 files changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 9b80edf8c1..83b123e4d3 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,8 @@ PHP NEWS - Core: . Fixed bug #71041 (zend_signal_startup() needs ZEND_API). (Valentin V. Bartenev) + . Fixed bug #76046 (PHP generates "FE_FREE" opcode on the wrong line). + (Nikita) - COM: . Fixed bug #77177 (Serializing or unserializing COM objects crashes). (cmb) diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index f1dd49a223..9c0893b773 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -4807,6 +4807,7 @@ 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); } /* }}} */ -- 2.40.0