From: Artem S. Povalyukhin Date: Fri, 24 Dec 2021 07:00:15 +0000 (+0300) Subject: Added missing element in typeof table for DataView() type. X-Git-Tag: 0.7.1~3 X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=d457c9545e7e71ebb5c0479eb16b9d33175855e2;p=njs.git Added missing element in typeof table for DataView() type. Previously, typeof operation for DataView object resulted in out of bounds array accessing. This fixes #450 issue on Github. --- diff --git a/src/njs_vmcode.c b/src/njs_vmcode.c index 5facef58..75911255 100644 --- a/src/njs_vmcode.c +++ b/src/njs_vmcode.c @@ -1516,6 +1516,7 @@ njs_vmcode_typeof(njs_vm_t *vm, njs_value_t *value, njs_value_t *invld) &njs_string_object, &njs_string_object, &njs_string_object, + &njs_string_object, }; vm->retval = *types[value->type]; diff --git a/src/test/njs_unit_test.c b/src/test/njs_unit_test.c index c8440d12..7470b4bd 100644 --- a/src/test/njs_unit_test.c +++ b/src/test/njs_unit_test.c @@ -6390,6 +6390,9 @@ static njs_unit_test_t njs_test[] = { njs_str("(new DataView(new ArrayBuffer(3)))"), njs_str("[object DataView]") }, + { njs_str("var x = new ArrayBuffer(3); [typeof x, typeof new DataView(x)]"), + njs_str("object,object") }, + { njs_str("(new DataView(new ArrayBuffer(3))).buffer"), njs_str("[object ArrayBuffer]") },