From 5c179c41b3dd25a23d511c92829130046370437b Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Tue, 20 Jun 2017 18:06:19 +0300 Subject: [PATCH] Fixed Object.prototype.hasOwnProperty() without arguments. --- njs/njs_object.c | 2 +- njs/test/njs_unit_test.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/njs/njs_object.c b/njs/njs_object.c index caf7bb41..e2d9d06c 100644 --- a/njs/njs_object.c +++ b/njs/njs_object.c @@ -1373,7 +1373,7 @@ njs_object_prototype_has_own_property(njs_vm_t *vm, njs_value_t *args, retval = &njs_string_false; - if (njs_is_object(&args[0])) { + if (nargs > 1 && njs_is_object(&args[0])) { if (njs_is_array(&args[0])) { array = args[0].data.u.array; diff --git a/njs/test/njs_unit_test.c b/njs/test/njs_unit_test.c index 6a0960a9..f8005c58 100644 --- a/njs/test/njs_unit_test.c +++ b/njs/test/njs_unit_test.c @@ -5989,6 +5989,12 @@ static njs_unit_test_t njs_test[] = { nxt_string("var o = {a:1}; o.hasOwnProperty()"), nxt_string("false") }, + { nxt_string("[,].hasOwnProperty()"), + nxt_string("false") }, + + { nxt_string("Object.valueOf.hasOwnProperty()"), + nxt_string("false") }, + { nxt_string("1..hasOwnProperty('b')"), nxt_string("false") }, -- 2.47.3