From efca7007b6023e6c50c51b6c635b37601f447e92 Mon Sep 17 00:00:00 2001 From: Vadim <54305369+vadim-termius@users.noreply.github.com> Date: Wed, 2 Dec 2020 11:33:39 +0600 Subject: [PATCH] fix: internalModuleReadJSON for unpacked JSON (#26749) --- lib/asar/fs-wrapper.ts | 3 ++- spec/asar-spec.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/asar/fs-wrapper.ts b/lib/asar/fs-wrapper.ts index be0cc8aa62..f48953dbaf 100644 --- a/lib/asar/fs-wrapper.ts +++ b/lib/asar/fs-wrapper.ts @@ -689,7 +689,8 @@ export const wrapFsWithAsar = (fs: Record) => { if (info.size === 0) return ['', false]; if (info.unpacked) { const realPath = archive.copyFileOut(filePath); - return fs.readFileSync(realPath, { encoding: 'utf8' }); + const str = fs.readFileSync(realPath, { encoding: 'utf8' }); + return [str, str.length > 0]; } logASARAccess(asarPath, filePath, info.offset); diff --git a/spec/asar-spec.js b/spec/asar-spec.js index 3c47c85941..9e17081a84 100644 --- a/spec/asar-spec.js +++ b/spec/asar-spec.js @@ -1444,7 +1444,8 @@ describe('asar package', function () { it('reads a normal file with unpacked files', function () { const p = path.join(asarDir, 'unpack.asar', 'a.txt'); - expect(internalModuleReadJSON(p).toString().trim()).to.equal('a'); + const [s, c] = internalModuleReadJSON(p); + expect([s.toString().trim(), c]).to.eql(['a', true]); }); });