From f6d4a63c7f38bf4b707a7d5eb9ddf781072d55cf Mon Sep 17 00:00:00 2001 From: Aaron O'Mullan Date: Fri, 3 Dec 2021 11:55:14 +0100 Subject: [PATCH] fix(core): throw on invalid callConsole args (#12973) Instead of panicking via asserts, since JS-callable code (even Deno.core ...) should not cause process crashes/panics --- core/bindings.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/core/bindings.rs b/core/bindings.rs index e4c4e65158..08075e9d5d 100644 --- a/core/bindings.rs +++ b/core/bindings.rs @@ -794,10 +794,12 @@ fn call_console( args: v8::FunctionCallbackArguments, _rv: v8::ReturnValue, ) { - assert!(args.length() >= 2); - - assert!(args.get(0).is_function()); - assert!(args.get(1).is_function()); + if args.length() < 2 + || !args.get(0).is_function() + || !args.get(1).is_function() + { + return throw_type_error(scope, "Invalid arguments"); + } let mut call_args = vec![]; for i in 2..args.length() {