From 9bea576f3ea224ec72f371f6f0bc582171ca7890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sabiniarz?= <31597105+mhvsa@users.noreply.github.com> Date: Fri, 7 Jun 2019 02:51:04 +0100 Subject: Deno.core.evalContext & Deno.core.print fix (#2465) --- core/libdeno/binding.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'core/libdeno/binding.cc') diff --git a/core/libdeno/binding.cc b/core/libdeno/binding.cc index 4aeb6003a..f8ef1c7a7 100644 --- a/core/libdeno/binding.cc +++ b/core/libdeno/binding.cc @@ -96,9 +96,11 @@ void PromiseRejectCallback(v8::PromiseRejectMessage promise_reject_message) { } void Print(const v8::FunctionCallbackInfo& args) { - CHECK_GE(args.Length(), 1); - CHECK_LE(args.Length(), 3); auto* isolate = args.GetIsolate(); + int argsLen = args.Length(); + if (argsLen < 1 || argsLen > 2) { + ThrowInvalidArgument(isolate); + } DenoIsolate* d = DenoIsolate::FromIsolate(isolate); auto context = d->context_.Get(d->isolate_); v8::HandleScope handle_scope(isolate); @@ -375,7 +377,11 @@ void EvalContext(const v8::FunctionCallbackInfo& args) { auto context = d->context_.Get(isolate); v8::Context::Scope context_scope(context); - CHECK(args[0]->IsString()); + if (!(args[0]->IsString())) { + ThrowInvalidArgument(isolate); + return; + } + auto source = args[0].As(); auto output = v8::Array::New(isolate, 2); -- cgit v1.2.3