]> git.kaiwu.me - njs.git/commitdiff
Fixed Object.prototype.hasOwnProperty() without arguments.
authorDmitry Volyntsev <xeioex@nginx.com>
Tue, 20 Jun 2017 15:06:19 +0000 (18:06 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Tue, 20 Jun 2017 15:06:19 +0000 (18:06 +0300)
njs/njs_object.c
njs/test/njs_unit_test.c

index caf7bb41e63b7e4cad81244ab405f93b8650242a..e2d9d06c9846fd8ca7207a562f300b97e1f1cf41 100644 (file)
@@ -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;
index 6a0960a9389233464427d64c460af56fc12cfb29..f8005c58f9555f61cf8713d318a0394580d62b41 100644 (file)
@@ -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") },