summaryrefslogtreecommitdiff
path: root/core/01_core.js
diff options
context:
space:
mode:
authorKenta Moriuchi <moriken@kimamass.com>2023-03-13 19:24:31 +0900
committerGitHub <noreply@github.com>2023-03-13 19:24:31 +0900
commite5673f5ed85774831234fe70290d5802bbd47c15 (patch)
tree59a8deb3e81bc596ec73afcaae01de9a1cb1e845 /core/01_core.js
parentbcb6ee9d0864f490f6da47cbe2593310b21333ff (diff)
fix(core): `SafePromiseAll` to be unaffected by `Array#@@iterator` (#17542)
Diffstat (limited to 'core/01_core.js')
-rw-r--r--core/01_core.js3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/01_core.js b/core/01_core.js
index 07ab758f1..a13bdc8dd 100644
--- a/core/01_core.js
+++ b/core/01_core.js
@@ -21,6 +21,7 @@
PromisePrototypeThen,
RangeError,
ReferenceError,
+ SafeArrayIterator,
SafePromisePrototypeFinally,
setQueueMicrotask,
StringPrototypeSlice,
@@ -198,7 +199,7 @@
const id = rollPromiseId();
let promise = PromisePrototypeThen(setPromise(id), unwrapOpResult);
try {
- ops[name](id, ...args);
+ ops[name](id, ...new SafeArrayIterator(args));
} catch (err) {
// Cleanup the just-created promise
getPromise(id);