diff --git a/lib/web/fetch/formdata-parser.js b/lib/web/fetch/formdata-parser.js index b889fbf898d..843a6ce518f 100644 --- a/lib/web/fetch/formdata-parser.js +++ b/lib/web/fetch/formdata-parser.js @@ -444,15 +444,13 @@ function parseMultipartFormDataName (input, position) { * @param {{ position: number }} position */ function collectASequenceOfBytes (condition, input, position) { - const result = [] + let start = position.position - while (position.position < input.length && condition(input[position.position])) { - result.push(input[position.position]) - - position.position++ + while (start < input.length && condition(input[start])) { + ++start } - return Buffer.from(result, result.length) + return input.subarray(position.position, (position.position = start)) } /**