From dfa6f9a7714584289b97acdb5927c383c9c50e40 Mon Sep 17 00:00:00 2001 From: Andreas Ziemer Date: Sat, 28 Oct 2023 11:43:35 +0200 Subject: [PATCH] Update be_lexer.c (#19856) Added check for unterminated block comments --- lib/libesp32/berry/src/be_lexer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/libesp32/berry/src/be_lexer.c b/lib/libesp32/berry/src/be_lexer.c index 8a038a507..b558a72ff 100644 --- a/lib/libesp32/berry/src/be_lexer.c +++ b/lib/libesp32/berry/src/be_lexer.c @@ -260,6 +260,7 @@ static void skip_comment(blexer *lexer) { next(lexer); /* skip '#' */ if (lgetc(lexer) == '-') { /* mult-line comment */ + int lno = lexer->linenumber; int mark, c = 'x'; /* skip first '-' (#- ... -#) */ do { mark = c == '-'; @@ -269,6 +270,11 @@ static void skip_comment(blexer *lexer) } c = next(lexer); } while (!(mark && c == '#') && c != EOS); + if (c == EOS) { + char tmp[64]; + sprintf(tmp, "unterminated comment block started in line %d", lno); + be_lexerror(lexer, tmp); + } next(lexer); /* skip '#' */ } else { /* line comment */ while (!is_newline(lgetc(lexer)) && lgetc(lexer)) {