details: https://hg.nginx.org/njs/rev/d73bfec720b9 branches: changeset: 2145:d73bfec720b9 user: Vadim Zhestikov <v.zhesti...@f5.com> date: Thu Jun 01 09:39:27 2023 -0700 description: Fixed parsing of invalid for-var statement.
diffstat: src/njs_parser.c | 10 ++++------ src/test/njs_unit_test.c | 3 +++ 2 files changed, 7 insertions(+), 6 deletions(-) diffs (33 lines): diff -r aa05db6d896f -r d73bfec720b9 src/njs_parser.c --- a/src/njs_parser.c Thu Jun 01 09:39:25 2023 -0700 +++ b/src/njs_parser.c Thu Jun 01 09:39:27 2023 -0700 @@ -5908,12 +5908,10 @@ njs_parser_for_var_binding_or_var_list(n njs_lexer_consume_token(parser->lexer, 2); return NJS_DONE; - } - - parser->node = NULL; - - njs_parser_next(parser, njs_parser_expression); - return NJS_OK; + + } else { + return njs_parser_failed(parser); + } } } diff -r aa05db6d896f -r d73bfec720b9 src/test/njs_unit_test.c --- a/src/test/njs_unit_test.c Thu Jun 01 09:39:25 2023 -0700 +++ b/src/test/njs_unit_test.c Thu Jun 01 09:39:27 2023 -0700 @@ -2972,6 +2972,9 @@ static njs_unit_test_t njs_test[] = { njs_str("for(c=let c"), njs_str("SyntaxError: Unexpected token \"let\" in 1") }, + { njs_str("for(var``>0; 0 ;) ;"), + njs_str("SyntaxError: Unexpected token \"`\" in 1") }, + /* switch. */ { njs_str("switch"), _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel