From: Igor Sysoev Date: Tue, 11 Oct 2016 10:01:41 +0000 (+0300) Subject: Segfaults in Date have been fixed. X-Git-Tag: 0.1.4~21 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=7d20566b2058371f45e098f9dd38cad3926336fd;p=njs.git Segfaults in Date have been fixed. --- diff --git a/njs/njs_date.c b/njs/njs_date.c index 20ec407a..9cb2a591 100644 --- a/njs/njs_date.c +++ b/njs/njs_date.c @@ -108,6 +108,7 @@ njs_date_constructor(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, for (i = 1; i < n; i++) { if (!njs_is_numeric(&args[i])) { + vm->frame->trap_scratch.data.u.value = &args[i]; return NJS_TRAP_NUMBER_ARG; } @@ -186,6 +187,7 @@ njs_date_utc(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, for (i = 1; i < n; i++) { if (!njs_is_numeric(&args[i])) { + vm->frame->trap_scratch.data.u.value = &args[i]; return NJS_TRAP_NUMBER_ARG; } diff --git a/njs/test/njs_unit_test.c b/njs/test/njs_unit_test.c index d7114de8..c0e700fc 100644 --- a/njs/test/njs_unit_test.c +++ b/njs/test/njs_unit_test.c @@ -5030,6 +5030,12 @@ static njs_unit_test_t njs_test[] = { nxt_string("var d = new Date(); d.__proto__ === Date.prototype"), nxt_string("true") }, + { nxt_string("new Date(eval)"), + nxt_string("Invalid Date") }, + + { nxt_string("Date.UTC(eval)"), + nxt_string("NaN") }, + { nxt_string("Date.name"), nxt_string("Date") },