From f086ec57b453fc0af763564eb80fea4b5b7f7296 Mon Sep 17 00:00:00 2001 From: Kenta Moriuchi Date: Sat, 15 Apr 2023 05:23:28 +0900 Subject: fix(core): Use safe primordials wrappers (#18687) --- ext/fetch/21_formdata.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'ext/fetch/21_formdata.js') diff --git a/ext/fetch/21_formdata.js b/ext/fetch/21_formdata.js index 92c914b8c..1961643d2 100644 --- a/ext/fetch/21_formdata.js +++ b/ext/fetch/21_formdata.js @@ -22,12 +22,12 @@ const { ArrayPrototypePush, ArrayPrototypeSlice, ArrayPrototypeSplice, - Map, MapPrototypeGet, MapPrototypeSet, MathRandom, ObjectFreeze, ObjectPrototypeIsPrototypeOf, + SafeMap, SafeRegExp, Symbol, StringFromCharCode, @@ -346,13 +346,15 @@ function formDataToBlob(formData) { }); } +const QUOTE_CONTENT_PATTERN = new SafeRegExp(/^"([^"]*)"$/); + /** * @param {string} value * @returns {Map} */ function parseContentDisposition(value) { /** @type {Map} */ - const params = new Map(); + const params = new SafeMap(); // Forced to do so for some Map constructor param mismatch const values = ArrayPrototypeSlice(StringPrototypeSplit(value, ";"), 1); for (let i = 0; i < values.length; i++) { @@ -361,7 +363,7 @@ function parseContentDisposition(value) { MapPrototypeSet( params, entries[0], - StringPrototypeReplace(entries[1], /^"([^"]*)"$/, "$1"), + StringPrototypeReplace(entries[1], QUOTE_CONTENT_PATTERN, "$1"), ); } } -- cgit v1.2.3