details: https://hg.nginx.org/njs/rev/aa05db6d896f branches: changeset: 2144:aa05db6d896f user: Vadim Zhestikov <v.zhesti...@f5.com> date: Thu Jun 01 09:39:25 2023 -0700 description: Fixed parsing of invalid for-in statement.
The issue was introduced in: b9d18d4dd34e diffstat: src/njs_parser.c | 4 ++++ src/test/njs_unit_test.c | 3 +++ 2 files changed, 7 insertions(+), 0 deletions(-) diffs (27 lines): diff -r ab54ef24feac -r aa05db6d896f src/njs_parser.c --- a/src/njs_parser.c Sun May 28 15:36:46 2023 +0100 +++ b/src/njs_parser.c Thu Jun 01 09:39:25 2023 -0700 @@ -5496,6 +5496,10 @@ njs_parser_for_expression_map_reparse(nj { njs_str_t *text; + if (parser->ret != NJS_OK && parser->node != NULL) { + return njs_parser_failed(parser); + } + if (parser->node == NULL) { njs_lexer_in_fail_set(parser->lexer, 1); diff -r ab54ef24feac -r aa05db6d896f src/test/njs_unit_test.c --- a/src/test/njs_unit_test.c Sun May 28 15:36:46 2023 +0100 +++ b/src/test/njs_unit_test.c Thu Jun 01 09:39:25 2023 -0700 @@ -2969,6 +2969,9 @@ static njs_unit_test_t njs_test[] = { njs_str("for (a(b * in d) ;"), njs_str("SyntaxError: Unexpected token \"in\" in 1") }, + { njs_str("for(c=let c"), + njs_str("SyntaxError: Unexpected token \"let\" in 1") }, + /* switch. */ { njs_str("switch"), _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel