details:   http://hg.nginx.org/njs/rev/a361553ce219
branches:  
changeset: 543:a361553ce219
user:      Valentin Bartenev <[email protected]>
date:      Sat Jun 30 20:39:22 2018 +0300
description:
Fixed error handling of setting non-numeric Array.length.

diffstat:

 njs/njs_array.c |  5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diffs (15 lines):

diff -r 0307e2740df7 -r a361553ce219 njs/njs_array.c
--- a/njs/njs_array.c   Thu Jun 28 17:04:18 2018 +0300
+++ b/njs/njs_array.c   Sat Jun 30 20:39:22 2018 +0300
@@ -375,6 +375,11 @@ njs_array_prototype_length(njs_vm_t *vm,
     array = value->data.u.array;
 
     if (setval != NULL) {
+        if (!njs_is_number(setval)) {
+            njs_range_error(vm, "Invalid array length");
+            return NJS_ERROR;
+        }
+
         num = setval->data.u.number;
         length = (uint32_t) num;
 
_______________________________________________
nginx-devel mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-devel

Reply via email to