From f10d1f3c19dfdefa562d922e692d521311045096 Mon Sep 17 00:00:00 2001 From: Frederik Bolding Date: Wed, 30 Aug 2023 09:11:58 +0200 Subject: [PATCH] Fix unpacking zero byte files from NPM --- packages/snaps-controllers/src/snaps/location/npm.test.ts | 4 ++-- packages/snaps-controllers/src/snaps/location/npm.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/snaps-controllers/src/snaps/location/npm.test.ts b/packages/snaps-controllers/src/snaps/location/npm.test.ts index 837bd17b27..d15edfc7c9 100644 --- a/packages/snaps-controllers/src/snaps/location/npm.test.ts +++ b/packages/snaps-controllers/src/snaps/location/npm.test.ts @@ -66,11 +66,11 @@ describe('NpmLocation', () => { const manifest = await location.manifest(); const sourceCode = ( await location.fetch(manifest.result.source.location.npm.filePath) - ).value.toString(); + ).toString(); assert(manifest.result.source.location.npm.iconPath); const svgIcon = ( await location.fetch(manifest.result.source.location.npm.iconPath) - ).value.toString(); + ).toString(); expect(fetchMock).toHaveBeenCalledTimes(2); expect(fetchMock).toHaveBeenNthCalledWith( diff --git a/packages/snaps-controllers/src/snaps/location/npm.ts b/packages/snaps-controllers/src/snaps/location/npm.ts index ffa807e549..4f82fa3b98 100644 --- a/packages/snaps-controllers/src/snaps/location/npm.ts +++ b/packages/snaps-controllers/src/snaps/location/npm.ts @@ -376,7 +376,7 @@ function createTarballStream( // The name is a path if the header type is "file". const path = headerName.replace(NPM_TARBALL_PATH_PREFIX, ''); return entryStream.pipe( - concat((data) => { + concat({ encoding: 'uint8array' }, (data) => { try { totalSize += data.byteLength; // To prevent zip bombs, we set a safety limit for the total size of tarballs.