Welcome! Log In Create A New Profile

Advanced

[njs] Fixed parsing of invalid for-var statement.

Vadim Zhestikov via nginx-devel
June 01, 2023 12:44PM
details: https://hg.nginx.org/njs/rev/d73bfec720b9
branches:
changeset: 2145:d73bfec720b9
user: Vadim Zhestikov <v.zhestikov@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
Subject Author Views Posted

[njs] Fixed parsing of invalid for-var statement.

Vadim Zhestikov via nginx-devel 326 June 01, 2023 12:44PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 309
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready