From 5c1d581bc42a5c5548e347ff5bee76d1a9a2b164 Mon Sep 17 00:00:00 2001 From: Connor Peet Date: Tue, 26 Sep 2023 12:03:50 -0700 Subject: [PATCH] fix: authentication sourcemap fallback failing for some maps (#1816) Fixes #1814 --- src/adapter/resourceProvider/statefulResourceProvider.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/adapter/resourceProvider/statefulResourceProvider.ts b/src/adapter/resourceProvider/statefulResourceProvider.ts index e1eb85eea..7ef726310 100644 --- a/src/adapter/resourceProvider/statefulResourceProvider.ts +++ b/src/adapter/resourceProvider/statefulResourceProvider.ts @@ -99,9 +99,12 @@ export class StatefulResourceProvider extends BasicResourceProvider implements I return original; } - const chunk = chunkRes.base64Encoded ? Buffer.from(chunkRes.data, 'base64') : chunkRes.data; - offset += chunk.length; - result.push(chunk.toString()); + const chunk = chunkRes.base64Encoded + ? Buffer.from(chunkRes.data, 'base64').toString() + : chunkRes.data; + // V8 uses byte length, not UTF-16 length, see #1814 + offset += Buffer.byteLength(chunk, 'utf-8'); + result.push(chunk); if (offset >= maxOffset) { this.cdp.IO.close({ handle: res.resource.stream }); // no await: do this in the background break;