From e0a401335dfe15af026be2281a23969ad892b7a1 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 30 Oct 2019 11:00:27 +0100 Subject: [PATCH] Make "unterminated comment" into a parse error --- Zend/tests/unterminated_comment.phpt | 8 ++++++++ .../warning_during_heredoc_scan_ahead.phpt | 17 ----------------- Zend/zend_language_scanner.l | 7 +++++-- 3 files changed, 13 insertions(+), 19 deletions(-) create mode 100644 Zend/tests/unterminated_comment.phpt delete mode 100644 Zend/tests/warning_during_heredoc_scan_ahead.phpt diff --git a/Zend/tests/unterminated_comment.phpt b/Zend/tests/unterminated_comment.phpt new file mode 100644 index 0000000000..8a0fb34a2a --- /dev/null +++ b/Zend/tests/unterminated_comment.phpt @@ -0,0 +1,8 @@ +--TEST-- +Unterminated comment +--FILE-- + ---EXPECTF-- -Warning: Octal escape sequence overflow \400 is greater than \377 in %s on line %d - -Warning: Unterminated comment starting line %d in %s on line %d - -Parse error: syntax error, unexpected end of file in %s on line %d diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l index f2a3d15c74..4b9e89ae67 100644 --- a/Zend/zend_language_scanner.l +++ b/Zend/zend_language_scanner.l @@ -2190,8 +2190,11 @@ inline_char_handler: if (YYCURSOR < YYLIMIT) { YYCURSOR++; - } else if (!SCNG(heredoc_scan_ahead)) { - zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno)); + } else { + zend_throw_exception_ex(zend_ce_parse_error, 0, "Unterminated comment starting line %d", CG(zend_lineno)); + if (PARSER_MODE()) { + RETURN_TOKEN(T_ERROR); + } } yyleng = YYCURSOR - SCNG(yy_text); -- 2.40.0