From: Nikita Popov Date: Tue, 27 Nov 2018 15:37:55 +0000 (+0100) Subject: Fixed bug #76046 X-Git-Tag: php-7.2.14RC1~38 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d6595f276fff44aa5d1d2dde7238d540a267d0dd;p=php 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. --- 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); } /* }}} */