From 1ac1e90b6a0ac005482fd1c705b79c3f16930cf9 Mon Sep 17 00:00:00 2001 From: Brian Smith Date: Mon, 24 Apr 2023 17:31:39 -0500 Subject: [PATCH] Issue #1691 - Part 16: Dynamically imported modules can throw any value as an exception. https://bugzilla.mozilla.org/show_bug.cgi?id=1508672 (cherry picked from commit 910a37b53f1826a863cc3ab6eb61fc369f4505a0) --- js/src/shell/js.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp index 7a955bf5ab..356ad0a78c 100644 --- a/js/src/shell/js.cpp +++ b/js/src/shell/js.cpp @@ -4266,16 +4266,10 @@ AbortDynamicModuleImport(JSContext* cx, unsigned argc, Value* vp) return ReportArgumentTypeError(cx, args[2], "PromiseObject"); } - if (!args[3].isObject() || !args[3].toObject().is()) { - return ReportArgumentTypeError(cx, args[3], "ErrorObject"); - } - RootedString specifier(cx, args[1].toString()); Rooted promise(cx, &args[2].toObject().as()); - Rooted error(cx, &args[3].toObject().as()); - Rooted value(cx, ObjectValue(*error)); - cx->setPendingException(value); + cx->setPendingException(args[3]); return js::FinishDynamicModuleImport(cx, args[0], specifier, promise); }