From 3683f81668bba88d01f3dbd84b2d6237c10573ab Mon Sep 17 00:00:00 2001 From: George Stagg Date: Mon, 9 Sep 2024 10:38:13 +0100 Subject: [PATCH] Interpret metadata values as signed integers --- src/webR/mount.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/webR/mount.ts b/src/webR/mount.ts index 3c34f7e2..b517f988 100644 --- a/src/webR/mount.ts +++ b/src/webR/mount.ts @@ -153,10 +153,10 @@ function mountImageData(data: ArrayBufferLike | Buffer, metadata: FSMetaData, mo function decodeVFSArchive(data: ArrayBufferLike) { const buffer = ungzip(data).buffer; const view = new DataView(buffer); - const magic = view.getUint32(view.byteLength - 16); - // const reserved = view.getUint32(view.byteLength - 12); - const block = view.getUint32(view.byteLength - 8); - const len = view.getUint32(view.byteLength - 4); + const magic = view.getInt32(view.byteLength - 16); + // const reserved = view.getInt32(view.byteLength - 12); + const block = view.getInt32(view.byteLength - 8); + const len = view.getInt32(view.byteLength - 4); if (magic !== 2003133010 || block === 0 || len === 0) { throw new Error("Can't mount archive, no VFS metadata found.");