From: Nikita Popov Date: Wed, 30 Oct 2019 10:00:27 +0000 (+0100) Subject: Make "unterminated comment" into a parse error X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e0a401335dfe15af026be2281a23969ad892b7a1;p=php Make "unterminated comment" into a parse error --- 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);