[njs] Fixed heap-use-after-free in await frame.

2021-11-01 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/360384498060 branches: changeset: 1732:360384498060 user: Alexander Borisov date: Mon Nov 01 18:32:48 2021 +0300 description: Fixed heap-use-after-free in await frame. The bug was introduced in 92d10cd761e2 (0.7.0). diffstat: src/njs_async.c

[njs] Fixed copying of closures for declared functions.

2021-10-11 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/66bd2cc7fd87 branches: changeset: 1719:66bd2cc7fd87 user: Alexander Borisov date: Mon Oct 11 17:46:24 2021 +0300 description: Fixed copying of closures for declared functions. After 0a2a0b5a74f4 (0.6.0), the referencing of a closure value

[njs] Fixed unhandled promise rejection in handle events.

2021-10-08 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/b5d102eb81c1 branches: changeset: 1714:b5d102eb81c1 user: Alexander Borisov date: Fri Oct 08 12:32:42 2021 +0300 description: Fixed unhandled promise rejection in handle events. This closes #423 issue on GitHub. diffstat: src/njs.h

[njs] Parser: catching errors parsing in await expression.

2021-09-02 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/502be9e80244 branches: changeset: 1703:502be9e80244 user: Alexander Borisov date: Thu Sep 02 19:33:03 2021 +0300 description: Parser: catching errors parsing in await expression. The bug was introduced in 92d10cd761e2. diffstat: src

[njs] Parser: removed dead store in await;

2021-09-02 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/f2410c8b80d9 branches: changeset: 1702:f2410c8b80d9 user: Alexander Borisov date: Thu Sep 02 19:32:52 2021 +0300 description: Parser: removed dead store in await; The bug was introduced in 92d10cd761e2. diffstat: src/njs_parser.c | 2 -- 1

[njs] Parser: fixed flag setting when parsing function arguments.

2021-09-02 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/cd87eaf03e4f branches: changeset: 1701:cd87eaf03e4f user: Alexander Borisov date: Thu Sep 02 19:32:34 2021 +0300 description: Parser: fixed flag setting when parsing function arguments. The bug was introduced in 92d10cd761e2. diffstat: src

[njs] Fixed async ctx erasing when a function is called multiple times.

2021-09-02 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/3a7ffe641a77 branches: changeset: 1700:3a7ffe641a77 user: Alexander Borisov date: Thu Sep 02 19:32:27 2021 +0300 description: Fixed async ctx erasing when a function is called multiple times. The bug was introduced in 92d10cd761e2. diffstat

[njs] Fixed order of code execution after await in try block.

2021-09-01 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/4b018107386d branches: changeset: 1699:4b018107386d user: Alexander Borisov date: Wed Sep 01 21:25:10 2021 +0300 description: Fixed order of code execution after await in try block. The bug was introduced in 92d10cd761e2. diffstat: src

[njs] Version bump.

2021-09-01 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/5439e59a255e branches: changeset: 1697:5439e59a255e user: Alexander Borisov date: Wed Sep 01 16:31:08 2021 +0300 description: Version bump. diffstat: src/njs.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff

[njs] Added remaining Promise constructor methods.

2021-08-11 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/80adcb502e40 branches: changeset: 1686:80adcb502e40 user: Alexander Borisov date: Wed Aug 11 21:48:52 2021 +0300 description: Added remaining Promise constructor methods. The following methods were added: Promise.all(), Promise.allSettled

[njs] Fixed resolve/reject callback for Promise.prototype.finally().

2021-08-11 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/3e00ce537115 branches: changeset: 1685:3e00ce537115 user: Alexander Borisov date: Wed Aug 11 21:48:51 2021 +0300 description: Fixed resolve/reject callback for Promise.prototype.finally(). diffstat: src/njs_promise.c | 75

[njs] Introduced AggregateError implementation.

2021-08-11 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/ca2f051a4fc9 branches: changeset: 1684:ca2f051a4fc9 user: Alexander Borisov date: Wed Aug 11 21:48:51 2021 +0300 description: Introduced AggregateError implementation. diffstat: src/njs_builtin.c| 11 src/njs_error.c

[njs] Moving generic iterator code to a proper location.

2021-08-11 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/eb6c1c9823f1 branches: changeset: 1683:eb6c1c9823f1 user: Alexander Borisov date: Wed Aug 11 21:48:50 2021 +0300 description: Moving generic iterator code to a proper location. diffstat: src/njs_array.c| 441

[njs] The maximum depth of nested functions is set to 128.

2021-07-15 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/424dd99ada9a branches: changeset: 1682:424dd99ada9a user: Alexander Borisov date: Thu Jul 15 20:32:44 2021 +0300 description: The maximum depth of nested functions is set to 128. diffstat: src/njs_generator.c | 22

[njs] Removed recursion from finding let closures.

2021-07-15 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/20dec02c7283 branches: changeset: 1681:20dec02c7283 user: Alexander Borisov date: Thu Jul 15 20:32:43 2021 +0300 description: Removed recursion from finding let closures. diffstat: src/njs_generator.c | 100

[njs] Removed recursion from code generator.

2021-07-15 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/efdc5f18195e branches: changeset: 1680:efdc5f18195e user: Alexander Borisov date: Thu Jul 15 20:32:40 2021 +0300 description: Removed recursion from code generator. diffstat: src/njs_generator.c | 3118

[njs] Fixed rest parameter parsing without binding identifier.

2021-06-29 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/45c470a2d710 branches: changeset: 1672:45c470a2d710 user: Alexander Borisov date: Tue Jun 29 17:08:23 2021 +0300 description: Fixed rest parameter parsing without binding identifier. This closes #400 issue on GitHub. diffstat: src

[njs] Version bump.

2021-06-29 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/fe1888cc2e3c branches: changeset: 1671:fe1888cc2e3c user: Alexander Borisov date: Tue Jun 29 17:08:21 2021 +0300 description: Version bump. diffstat: src/njs.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff

[njs] Fixed parsing case/default in an unclosed function block in switch.

2021-05-17 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/7b70ee90ead8 branches: changeset: 1637:7b70ee90ead8 user: Alexander Borisov date: Mon May 17 20:35:35 2021 +0300 description: Fixed parsing case/default in an unclosed function block in switch. diffstat: src/njs_parser.c | 13

[njs] Removed check variable type for CLI completions.

2021-05-06 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/637bc81166a6 branches: changeset: 1636:637bc81166a6 user: Alexander Borisov date: Thu May 06 16:07:09 2021 +0300 description: Removed check variable type for CLI completions. Found by Coverity (CID 1478003). diffstat: src/njs_builtin.c | 2

[njs] Removed unnecessary NULL checks introduced in 0a2a0b5a74f4.

2021-05-06 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/c1829352e49c branches: changeset: 1635:c1829352e49c user: Alexander Borisov date: Thu May 06 16:07:08 2021 +0300 description: Removed unnecessary NULL checks introduced in 0a2a0b5a74f4. Found by Coverity (CID 1478004). diffstat: src

[njs] Removed unnecessary NULL checks introduced in 0a2a0b5a74f4.

2021-05-06 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/5563f2cbce5b branches: changeset: 1634:5563f2cbce5b user: Alexander Borisov date: Thu May 06 16:07:06 2021 +0300 description: Removed unnecessary NULL checks introduced in 0a2a0b5a74f4. Found by Coverity (CID 1478008). diffstat: src

[njs] Fixed typo introduced in 27a4a52621d5 and f58a06be33dc.

2021-05-06 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/a0bb54faa1b2 branches: changeset: 1633:a0bb54faa1b2 user: Alexander Borisov date: Thu May 06 16:07:05 2021 +0300 description: Fixed typo introduced in 27a4a52621d5 and f58a06be33dc. diffstat: src/njs_scope.h | 2 +- src

[njs] Introduced const implementation.

2021-04-30 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/f58a06be33dc branches: changeset: 1632:f58a06be33dc user: Alexander Borisov date: Fri Apr 30 16:02:34 2021 +0300 description: Introduced const implementation. diffstat: src/njs_builtin.c|2 +- src/njs_disassembler.c |3

[njs] Introduced let implementation.

2021-04-30 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/27a4a52621d5 branches: changeset: 1631:27a4a52621d5 user: Alexander Borisov date: Fri Apr 30 16:02:28 2021 +0300 description: Introduced let implementation. This closes #105 issue on GitHub. diffstat: src/njs_builtin.c|4 + src

[njs] Introduced reserved words in strict mode.

2021-04-30 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/28f33155ad3f branches: changeset: 1630:28f33155ad3f user: Alexander Borisov date: Fri Apr 30 16:02:20 2021 +0300 description: Introduced reserved words in strict mode. diffstat: src/njs_lexer_tables.h | 16 src

[njs] Scopes refactoring.

2021-04-30 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/0a2a0b5a74f4 branches: changeset: 1629:0a2a0b5a74f4 user: Alexander Borisov date: Fri Apr 30 16:02:08 2021 +0300 description: Scopes refactoring. diffstat: auto/sources |1 + nginx/ngx_js.c |3 +- src/njs.h

[njs] Fixed encoding matching for base64url in String.bytesFrom().

2020-12-22 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/92c0493b2aff branches: changeset: 1584:92c0493b2aff user: Disconnect3d date: Tue Dec 22 13:27:01 2020 +0100 description: Fixed encoding matching for base64url in String.bytesFrom(). This closes #363 PR on GitHub. diffstat: src/njs_string.c

[njs] Modules: fixed promise events handling.

2020-11-26 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/fac7e5dc8009 branches: changeset: 1575:fac7e5dc8009 user: Alexander Borisov date: Thu Nov 26 21:43:17 2020 +0300 description: Modules: fixed promise events handling. Previously, promise chain might not be invoked at all in some cases

[njs] Promise: tracking unhandled promise rejection.

2020-11-05 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/2d1abd2d38b4 branches: changeset: 1559:2d1abd2d38b4 user: Alexander Borisov date: Tue Nov 03 15:31:41 2020 +0300 description: Promise: tracking unhandled promise rejection. By default, promises should finish processing normally

[njs] Promise: fixed the catch handler for Promise.prototype.finally().

2020-11-03 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/c791e3943df1 branches: changeset: 1558:c791e3943df1 user: Alexander Borisov date: Tue Nov 03 20:14:33 2020 +0300 description: Promise: fixed the catch handler for Promise.prototype.finally(). By spec, the catch handler for the .finally() should

[njs] Added support for Object.prototype.valueOf() in Buffer.from().

2020-10-20 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/c262ed3c7df0 branches: changeset: 1541:c262ed3c7df0 user: Alexander Borisov date: Tue Oct 20 14:00:40 2020 +0300 description: Added support for Object.prototype.valueOf() in Buffer.from(). Missed in 27bb9caf186c. diffstat: src/njs_buffer.c

[njs] Fixed returned value for Buffer.prototype.write* functions.

2020-10-19 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/4106bf95d343 branches: changeset: 1540:4106bf95d343 user: Alexander Borisov date: Mon Oct 19 15:51:37 2020 +0300 description: Fixed returned value for Buffer.prototype.write* functions. All Buffer.prototype.write* functions must return offset

[njs] Fixed heap-buffer-overflow for RegExp.prototype[Symbol.replace].

2020-10-13 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/a82f123409b7 branches: changeset: 1539:a82f123409b7 user: Alexander Borisov date: Tue Oct 13 15:44:33 2020 +0300 description: Fixed heap-buffer-overflow for RegExp.prototype[Symbol.replace]. Previously, RegExp.prototype[Symbol.replace] might

[njs] HTTP: throwing an exception in internalRedirect() for a subrequest.

2020-10-08 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/893fa730285c branches: changeset: 1538:893fa730285c user: Alexander Borisov date: Thu Oct 08 18:47:04 2020 +0300 description: HTTP: throwing an exception in internalRedirect() for a subrequest. This closes #214 issue on GitHub. diffstat

[njs] Fixed heap-use-after-free in JSON.stringify().

2020-10-06 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/da7b98611f57 branches: changeset: 1536:da7b98611f57 user: Alexander Borisov date: Tue Oct 06 20:24:21 2020 +0300 description: Fixed heap-use-after-free in JSON.stringify(). njs_json_stringify_iterator() assumed, while stringifying flat arrays

[njs] Fixed JSON.stringify() for arrays resizable via getters.

2020-10-06 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/036a4fbf9204 branches: changeset: 1537:036a4fbf9204 user: Alexander Borisov date: Tue Oct 06 20:51:56 2020 +0300 description: Fixed JSON.stringify() for arrays resizable via getters. diffstat: src/njs_json.c | 3 ++- src/test

[njs] Fixed heap-use-after-free in JSON.parse().

2020-10-06 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/119064deed61 branches: changeset: 1535:119064deed61 user: Alexander Borisov date: Tue Oct 06 19:53:26 2020 +0300 description: Fixed heap-use-after-free in JSON.parse(). This correctly fixes the issues addressed in 1405:9beb9ea093b5. The initial

[njs] Added forgotten 'break' statement missed in 27bb9caf186c.

2020-09-17 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/0cfc928cc1e4 branches: changeset: 1524:0cfc928cc1e4 user: Alexander Borisov date: Thu Sep 17 13:10:51 2020 +0300 description: Added forgotten 'break' statement missed in 27bb9caf186c. Found by Coverity (CID 1466731). diffstat: src

[njs] Introduced Buffer implementation.

2020-09-16 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/27bb9caf186c branches: changeset: 1523:27bb9caf186c user: Alexander Borisov date: Wed Sep 16 17:22:01 2020 +0300 description: Introduced Buffer implementation. diffstat: auto/sources | 1 + src/njs.h

[njs] Fixed TextDecoder.prototype.decode() with non-zero TypedArray offset.

2020-09-07 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/f8c8e23d2bbd branches: changeset: 1521:f8c8e23d2bbd user: Alexander Borisov date: Mon Sep 07 17:55:24 2020 +0300 description: Fixed TextDecoder.prototype.decode() with non-zero TypedArray offset. diffstat: src/njs_encoding.c | 4

[njs] Added support for ArrayBuffer in TextDecoder.prototype.decode().

2020-09-07 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/4ef85ee61700 branches: changeset: 1520:4ef85ee61700 user: Alexander Borisov date: Mon Sep 07 17:55:10 2020 +0300 description: Added support for ArrayBuffer in TextDecoder.prototype.decode(). This closes #331 issue on Github. diffstat: src

[njs] Separating string length counting and encoding conversion.

2020-09-07 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/9a25433b4c76 branches: changeset: 1519:9a25433b4c76 user: Alexander Borisov date: Mon Sep 07 17:54:47 2020 +0300 description: Separating string length counting and encoding conversion. diffstat: src/njs_string.c | 378

[njs] Improved UTF-8 encoding/decoding.

2020-08-26 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/b98eb205a37b branches: changeset: 1505:b98eb205a37b user: Alexander Borisov date: Wed Aug 26 21:05:46 2020 +0300 description: Improved UTF-8 encoding/decoding. diffstat: src/njs_encoding.c | 135

[njs] Fixed return value for string base64/base64url encoding.

2020-08-26 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/fbee1514cf43 branches: changeset: 1506:fbee1514cf43 user: Alexander Borisov date: Wed Aug 26 21:11:03 2020 +0300 description: Fixed return value for string base64/base64url encoding. diffstat: src/njs_string.c | 4 ++-- 1 files changed, 2

[njs] Introduced TextEncoder/TextDecoder implementation.

2020-07-30 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/bcd1a41c6a67 branches: changeset: 1485:bcd1a41c6a67 user: Alexander Borisov date: Tue Jul 28 16:58:59 2020 +0300 description: Introduced TextEncoder/TextDecoder implementation. According to WHATWG encoding spec. diffstat: auto/sources

[njs] Fixed pre/post increment/decrement in assignment operations.

2020-07-24 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/78f0887e5aa6 branches: changeset: 1478:78f0887e5aa6 user: Alexander Borisov date: Thu Jul 23 13:24:10 2020 +0300 description: Fixed pre/post increment/decrement in assignment operations. Previously, the compound assignment operations did

[njs] Fixed clearing UTF-8 context for two-byte codepoints.

2020-07-22 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/d88b65c37ecc branches: changeset: 1475:d88b65c37ecc user: Alexander Borisov date: Wed Jul 22 15:21:13 2020 +0300 description: Fixed clearing UTF-8 context for two-byte codepoints. diffstat: src/njs_utf8.h | 1 + 1 files changed, 1 insertions

[njs] Fixed njs_value_property() for NJS_DECLINED from prop handler.

2020-07-22 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/436d4c253d10 branches: changeset: 1476:436d4c253d10 user: Alexander Borisov date: Wed Jul 22 15:21:14 2020 +0300 description: Fixed njs_value_property() for NJS_DECLINED from prop handler. This ensures retval has valid value for any case except

[njs] Introduced Query String module implementation.

2020-07-22 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/7f5c5a425d03 branches: changeset: 1477:7f5c5a425d03 user: Alexander Borisov date: Wed Jul 22 15:21:15 2020 +0300 description: Introduced Query String module implementation. In collaboration with Dmitry Volyntsev. This closes #288 issue

[njs] Fixed njs_string_truncate() function for non-byte strings.

2020-07-22 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/b96ff1d52647 branches: changeset: 1474:b96ff1d52647 user: Alexander Borisov date: Wed Jul 22 15:21:13 2020 +0300 description: Fixed njs_string_truncate() function for non-byte strings. diffstat: src/njs_fs.c | 2 +- src/njs_string.c

[njs] Introduced UTF-8 decoder according to WHATWG encoding spec.

2020-07-15 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/855edd76bdb6 branches: changeset: 1472:855edd76bdb6 user: Alexander Borisov date: Wed Jul 15 19:19:19 2020 +0300 description: Introduced UTF-8 decoder according to WHATWG encoding spec. diffstat: src/njs_json.c |8 +- src

[njs] Introduced UTF-16 according to WHATWG encoding spec.

2020-07-15 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/63106bd2e9bf branches: changeset: 1471:63106bd2e9bf user: Alexander Borisov date: Wed Jul 15 19:19:18 2020 +0300 description: Introduced UTF-16 according to WHATWG encoding spec. diffstat: auto/make|4 +- auto/sources

[njs] Parser: fixed parsing return statement without semicolon.

2020-07-14 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/022995046310 branches: changeset: 1464:022995046310 user: Alexander Borisov date: Tue Jul 14 14:49:46 2020 +0300 description: Parser: fixed parsing return statement without semicolon. The issue was introduced in 86f55a7dc4a4. This closes #330

[njs] Fixed index generation for global objects.

2020-06-30 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/52dd845c0a36 branches: changeset: 1441:52dd845c0a36 user: Alexander Borisov date: Tue Jun 30 18:22:18 2020 +0300 description: Fixed index generation for global objects. In c75a8fc6d534 "GLOBAL GET" instruction was introduced

[njs] Parser: fixed broken object literals parsing.

2020-06-25 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/d692284e0b9f branches: changeset: 1439:d692284e0b9f user: Alexander Borisov date: Thu Jun 25 13:10:03 2020 +0300 description: Parser: fixed broken object literals parsing. diffstat: src/njs_parser.c | 9 ++--- src/test

[njs] Parser: fixed broken for expressions parsing.

2020-06-25 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/fac632b520fa branches: changeset: 1440:fac632b520fa user: Alexander Borisov date: Thu Jun 25 13:10:04 2020 +0300 description: Parser: fixed broken for expressions parsing. diffstat: src/njs_parser.c | 2 +- src/test/njs_unit_test.c

[njs] Parser: fixed heap-use-after-free in optional chain.

2020-06-19 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/341cd52d4348 branches: changeset: 1437:341cd52d4348 user: Alexander Borisov date: Fri Jun 19 19:48:12 2020 +0300 description: Parser: fixed heap-use-after-free in optional chain. diffstat: src/njs_parser.c | 4 src/test

[njs] Parser: fixed line counting in template literals.

2020-06-19 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/7d24976ced90 branches: changeset: 1438:7d24976ced90 user: Alexander Borisov date: Fri Jun 19 19:48:13 2020 +0300 description: Parser: fixed line counting in template literals. This closes #321 issue on GitHub. diffstat: src/njs_parser.c

[njs] Parser: fixed semicolon check after continue/break statement.

2020-06-15 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/3bfa26b91a55 branches: changeset: 1432:3bfa26b91a55 user: Alexander Borisov date: Mon Jun 15 18:33:57 2020 +0300 description: Parser: fixed semicolon check after continue/break statement. This closes #318 issue on GitHub. diffstat: src

[njs] Parser: correctly fixing closing brace unwinding for invalid syntax.

2020-06-06 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/857c2166d10b branches: changeset: 1427:857c2166d10b user: Alexander Borisov date: Sat Jun 06 18:15:07 2020 +0300 description: Parser: correctly fixing closing brace unwinding for invalid syntax. The issue was introduced in 86f55a7dc4a4

[njs] Parser: added line positions for AST nodes.

2020-06-05 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/bc79f5c80452 branches: changeset: 1426:bc79f5c80452 user: Alexander Borisov date: Thu Jun 04 17:26:01 2020 +0300 description: Parser: added line positions for AST nodes. diffstat: src/njs_lexer.c |4 +- src/njs_parser.c | 428

[njs] Fixed parsing of invalid unary expression.

2020-06-03 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/61dce54ce3d5 branches: changeset: 1420:61dce54ce3d5 user: Alexander Borisov date: Wed Jun 03 20:49:52 2020 +0300 description: Fixed parsing of invalid unary expression. The issue was introduced in 86f55a7dc4a4. diffstat: src/njs_parser.c

[njs] Removed support for functions in labelled statements.

2020-06-03 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/4737eb75961e branches: changeset: 1419:4737eb75961e user: Alexander Borisov date: Wed Jun 03 15:17:51 2020 +0300 description: Removed support for functions in labelled statements. In strict mode, support for functions is prohibited. The issue

[njs] Added necessary checks for obligatory grammar symbols.

2020-06-02 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/4117ec04714b branches: changeset: 1415:4117ec04714b user: Alexander Borisov date: Tue Jun 02 17:53:29 2020 +0300 description: Added necessary checks for obligatory grammar symbols. The issue was introduced in 86f55a7dc4a4. diffstat: src

[njs] Fixed checking return value in primary expression.

2020-06-02 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/8923d0751c28 branches: changeset: 1413:8923d0751c28 user: Alexander Borisov date: Tue Jun 02 17:53:27 2020 +0300 description: Fixed checking return value in primary expression. The issue was introduced in 86f55a7dc4a4. diffstat: src

[njs] Fixed parsing of invalid binary expressions.

2020-06-02 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/ea1754b79e7a branches: changeset: 1414:ea1754b79e7a user: Alexander Borisov date: Tue Jun 02 17:53:28 2020 +0300 description: Fixed parsing of invalid binary expressions. The issue was introduced in 86f55a7dc4a4. diffstat: src/njs_parser.c

[njs] Removed unnecessary NULL checks introduced in 86f55a7dc4a4.

2020-06-01 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/c37e682982b1 branches: changeset: 1410:c37e682982b1 user: Alexander Borisov date: Mon Jun 01 18:09:28 2020 +0300 description: Removed unnecessary NULL checks introduced in 86f55a7dc4a4. Found by Clang static analyzer. diffstat: src

[njs] Fixed potential NULL-pointer dereference added in 86f55a7dc4a4.

2020-06-01 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/c9f07d5eef98 branches: changeset: 1409:c9f07d5eef98 user: Alexander Borisov date: Mon Jun 01 18:09:27 2020 +0300 description: Fixed potential NULL-pointer dereference added in 86f55a7dc4a4. Found by Coverity (CID 1463867). diffstat: src

[njs] Silenced cast to smaller integer type warning.

2020-06-01 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/ff39edb94acf branches: changeset: 1412:ff39edb94acf user: Alexander Borisov date: Mon Jun 01 18:09:29 2020 +0300 description: Silenced cast to smaller integer type warning. This fixes compilation with clang 11. diffstat: src/njs_parser.c

[njs] Fixed grammar introduced in 86f55a7dc4a4.

2020-06-01 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/b4a6f26b7e32 branches: changeset: 1411:b4a6f26b7e32 user: Alexander Borisov date: Mon Jun 01 18:09:29 2020 +0300 description: Fixed grammar introduced in 86f55a7dc4a4. diffstat: src/njs_parser.c | 4 ++-- 1 files changed, 2 insertions(+), 2

[njs] Parser refactoring.

2020-05-29 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/86f55a7dc4a4 branches: changeset: 1407:86f55a7dc4a4 user: Alexander Borisov date: Fri May 29 20:00:32 2020 +0300 description: Parser refactoring. diffstat: auto/sources| 2 - src/njs_function.c | 7 +- src

[njs] Added return value check forgotten in 9beb9ea093b5.

2020-05-29 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/1d071c0e23e8 branches: changeset: 1406:1d071c0e23e8 user: Alexander Borisov date: Fri May 29 14:49:36 2020 +0300 description: Added return value check forgotten in 9beb9ea093b5. Found by Coverity (CID 1463859, 1463860). diffstat: src

[njs] Fixed heap-use-after-free in JSON.parse() function.

2020-05-27 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/9beb9ea093b5 branches: changeset: 1405:9beb9ea093b5 user: Alexander Borisov date: Wed May 27 18:18:40 2020 +0300 description: Fixed heap-use-after-free in JSON.parse() function. diffstat: src/njs_json.c | 24

[njs] Fixed NULL-pointer dereference in "__proto__" property handler.

2020-03-04 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/a16e0c8f4bb2 branches: changeset: 1350:a16e0c8f4bb2 user: Alexander Borisov date: Wed Mar 04 17:12:55 2020 +0300 description: Fixed NULL-pointer dereference in "__proto__" property handler. This closes #293 issue on GitHub. diffs

[njs] Fixed heap-buffer-overflow in lexer introduced in 87d05fb35ff9.

2020-02-27 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/3313d0d593a0 branches: changeset: 1340:3313d0d593a0 user: Alexander Borisov date: Thu Feb 27 14:30:14 2020 +0300 description: Fixed heap-buffer-overflow in lexer introduced in 87d05fb35ff9. diffstat: src/njs_lexer.c | 2 +- src

[njs] Improved fields and typedefs naming in parser.

2020-02-26 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/112c7f54f402 branches: changeset: 1337:112c7f54f402 user: Alexander Borisov date: Wed Feb 26 16:22:12 2020 +0300 description: Improved fields and typedefs naming in parser. njs_token_t -> njs_token_type_t node->token -> node->toke

[njs] Lexer refactoring.

2020-02-26 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/87d05fb35ff9 branches: changeset: 1336:87d05fb35ff9 user: Alexander Borisov date: Wed Feb 26 16:22:10 2020 +0300 description: Lexer refactoring. diffstat: src/njs_builtin.c | 54 +-- src/njs_function.c|2 +- src

[njs] Fixed handling of space argument in JSON.stringify().

2020-02-26 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/079d4d4556f0 branches: changeset: 1335:079d4d4556f0 user: Alexander Borisov date: Wed Feb 26 12:41:51 2020 +0300 description: Fixed handling of space argument in JSON.stringify(). This closes #294 issue on GitHub. diffstat: src/njs_json.c

[njs] Fixed Object.getOwnPropertySymbols().

2020-02-13 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/974e6c195410 branches: changeset: 1325:974e6c195410 user: Alexander Borisov date: Thu Feb 13 16:25:37 2020 +0300 description: Fixed Object.getOwnPropertySymbols(). This closes #291 issue on GitHub. diffstat: src/njs_object.c | 4

[njs] Fixed typo introduced in 61bf7a31e685.

2020-01-09 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/5cd098c6c4de branches: changeset: 1294:5cd098c6c4de user: Alexander Borisov date: Thu Jan 09 15:21:08 2020 +0300 description: Fixed typo introduced in 61bf7a31e685. Found by Coverity (CIDs 1457370, 1457369). diffstat: src/njs_promise.c | 2

[njs] Fixed njs_vm_handle_events().

2019-12-26 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/025ce39e20b1 branches: changeset: 1292:025ce39e20b1 user: Alexander Borisov date: Thu Dec 26 15:31:54 2019 +0300 description: Fixed njs_vm_handle_events(). Fixed typo introduced in 61bf7a31e685. Event loop is expected to process two queues

[njs] Introduced the Promise object.

2019-12-23 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/61bf7a31e685 branches: changeset: 1287:61bf7a31e685 user: Alexander Borisov date: Tue Dec 17 10:35:11 2019 +0300 description: Introduced the Promise object. Implemented according to the specification without: Promise.all(), Promise.allSettled

[njs] Added njs_is_memory_error() function.

2019-12-03 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/ef64784b77f6 branches: changeset: 1277:ef64784b77f6 user: Alexander Borisov date: Tue Dec 03 18:02:40 2019 +0300 description: Added njs_is_memory_error() function. diffstat: src/njs_error.h | 14 ++ src/njs_vm.c| 7

[njs] Fixed typo introduced in 904333a40816.

2019-12-03 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/6e84ff419b88 branches: changeset: 1276:6e84ff419b88 user: Alexander Borisov date: Tue Dec 03 17:58:30 2019 +0300 description: Fixed typo introduced in 904333a40816. diffstat: src/njs_value.c | 6 +++--- 1 files changed, 3 insertions(+), 3

[njs] Introduced SpeciesConstructor() from the specification.

2019-12-03 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/904333a40816 branches: changeset: 1275:904333a40816 user: Alexander Borisov date: Tue Dec 03 17:13:34 2019 +0300 description: Introduced SpeciesConstructor() from the specification. diffstat: src/njs_value.c | 53

[njs] Shell: fixed memory leak when empty line is entered.

2019-12-03 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/afe38b7fabe4 branches: changeset: 1273:afe38b7fabe4 user: Alexander Borisov date: Tue Dec 03 16:43:04 2019 +0300 description: Shell: fixed memory leak when empty line is entered. diffstat: src/njs_shell.c | 9 - 1 files changed, 4

[njs] Style.

2019-12-03 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/da7cff928b80 branches: changeset: 1274:da7cff928b80 user: Alexander Borisov date: Tue Dec 03 16:44:03 2019 +0300 description: Style. diffstat: src/njs_diyfp.h | 4 ++-- src/njs_value.c | 1 + src/njs_value.h | 6 ++ 3 files changed, 5

[njs] Added implementation of Array.prototype.copyWithin().

2019-11-05 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/ea588c413548 branches: changeset: 1221:ea588c413548 user: Alexander Borisov date: Tue Nov 05 20:24:48 2019 +0300 description: Added implementation of Array.prototype.copyWithin(). diffstat: src/njs_array.c | 122

[njs] Fixed iterator for Array.prototype.find/findIndex() functions.

2019-10-30 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/926dfdd7a34c branches: changeset: 1206:926dfdd7a34c user: Alexander Borisov date: Wed Oct 30 16:43:09 2019 +0300 description: Fixed iterator for Array.prototype.find/findIndex() functions. Array might be changed in callback function

[njs] Fixed Array.prototype.includes() with "undefined" argument.

2019-10-30 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/2f21b596ce15 branches: changeset: 1207:2f21b596ce15 user: Alexander Borisov date: Wed Oct 30 16:43:10 2019 +0300 description: Fixed Array.prototype.includes() with "undefined" argument. This closes #230 issue on GitHub. diffs

[njs] Fixed Array.prototype.join() with "undefined" argument.

2019-10-30 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/758bbc9f105a branches: changeset: 1208:758bbc9f105a user: Alexander Borisov date: Wed Oct 30 16:43:12 2019 +0300 description: Fixed Array.prototype.join() with "undefined" argument. This closes #232 issue on GitHub. diffstat: src/n

[njs] Fixed strict aliasing warnings with old GCC versions.

2019-10-29 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/fedc4ad583c8 branches: changeset: 1205:fedc4ad583c8 user: Alexander Borisov date: Tue Oct 29 15:24:58 2019 +0300 description: Fixed strict aliasing warnings with old GCC versions. diffstat: src/njs.h | 2 +- 1 files changed, 1 insertions

[njs] Added conversion of this value to object in Array.prototype functions.

2019-10-28 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/3c15734aaeb8 branches: changeset: 1204:3c15734aaeb8 user: Alexander Borisov date: Mon Oct 28 16:50:20 2019 +0300 description: Added conversion of this value to object in Array.prototype functions. This closes #231 issue on GitHub. diffstat

[njs] Added njs_lvalue_arg() macro.

2019-10-28 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/c43ebb4722fc branches: changeset: 1203:c43ebb4722fc user: Alexander Borisov date: Mon Oct 28 16:10:17 2019 +0300 description: Added njs_lvalue_arg() macro. diffstat: src/njs.h| 5 +++- src/njs_json.c | 15 - src

[njs] Fixed heap-buffer-overflow in njs_array_reverse_iterator() function.

2019-10-24 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/b02b79e30d4a branches: changeset: 1198:b02b79e30d4a user: Alexander Borisov date: Thu Oct 24 16:15:01 2019 +0300 description: Fixed heap-buffer-overflow in njs_array_reverse_iterator() function. Affected JS functions in Array.prototype

[njs] Removed argument prototypes for built-in functions.

2019-10-22 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/47cdd4680fc2 branches: changeset: 1195:47cdd4680fc2 user: Alexander Borisov date: Tue Oct 22 19:58:52 2019 +0300 description: Removed argument prototypes for built-in functions. Many JS functions do not have fixed prototypes as in C

[njs] Improved functions for converting value to number.

2019-10-21 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/55f49a991f4f branches: changeset: 1191:55f49a991f4f user: Alexander Borisov date: Mon Oct 21 16:43:45 2019 +0300 description: Improved functions for converting value to number. Added functions: njs_value_to_number(), njs_value_to_integer

[njs] Added default number of arguments expected by builtin functions.

2019-10-11 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/30c1bde3f194 branches: changeset: 1184:30c1bde3f194 user: Alexander Borisov date: Fri Oct 11 19:41:51 2019 +0300 description: Added default number of arguments expected by builtin functions. This closes #207 issue on GitHub. diffstat: src

[njs] Fixed Array.prototype.pop() and shift() for sparse objects.

2019-10-09 Thread Alexander Borisov
details: https://hg.nginx.org/njs/rev/fa75ca7ed851 branches: changeset: 1178:fa75ca7ed851 user: Alexander Borisov date: Wed Oct 09 18:54:57 2019 +0300 description: Fixed Array.prototype.pop() and shift() for sparse objects. This closes #233 issue on GitHub. diffstat: src

  1   2   >