Welcome! Log In Create A New Profile

Advanced

[njs] A fix in Array.splice() function.

October 17, 2016 10:02AM
details: http://hg.nginx.org/njs/rev/c68db870b8b0
branches:
changeset: 199:c68db870b8b0
user: Igor Sysoev <igor@sysoev.ru>
date: Fri Oct 14 17:21:35 2016 +0300
description:
A fix in Array.splice() function.

diffstat:

njs/njs_array.c | 4 ++++
njs/test/njs_unit_test.c | 4 ++++
2 files changed, 8 insertions(+), 0 deletions(-)

diffs (28 lines):

diff -r 8046b999aaaf -r c68db870b8b0 njs/njs_array.c
--- a/njs/njs_array.c Wed Oct 12 19:08:57 2016 +0300
+++ b/njs/njs_array.c Fri Oct 14 17:21:35 2016 +0300
@@ -585,6 +585,10 @@ njs_array_prototype_splice(njs_vm_t *vm,
if (nargs > 1) {
start = args[1].data.u.number;

+ if (start > array->length) {
+ start = array->length;
+ }
+
if (nargs > 2) {
delete = args[2].data.u.number;

diff -r 8046b999aaaf -r c68db870b8b0 njs/test/njs_unit_test.c
--- a/njs/test/njs_unit_test.c Wed Oct 12 19:08:57 2016 +0300
+++ b/njs/test/njs_unit_test.c Fri Oct 14 17:21:35 2016 +0300
@@ -2304,6 +2304,10 @@ static njs_unit_test_t njs_test[] =
{ nxt_string("var a = []; a.splice()"),
nxt_string("") },

+ { nxt_string("var a = [];"
+ "a.splice(9,0,1,2).join(':') + '|' + a"),
+ nxt_string("|1,2") },
+
{ nxt_string("var a = [0,1,2,3,4,5,6,7];"
"a.splice(3).join(':') + '|' + a"),
nxt_string("3:4:5:6:7|0,1,2") },

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] A fix in Array.splice() function.

Igor Sysoev 582 October 17, 2016 10:02AM



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

Online Users

Guests: 313
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