@zip.js/zip.js 2.7.30 → 2.7.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -239,7 +239,12 @@ function sendMessage(message, { worker, writer, onTaskFinished, transferStreams
239
239
  let { value, readable, writable } = message;
240
240
  const transferables = [];
241
241
  if (value) {
242
- message.value = value.buffer;
242
+ if (value.byteLength < value.buffer.byteLength) {
243
+ message.value = value.buffer.slice(0, value.byteLength);
244
+ }
245
+ else {
246
+ message.value = value.buffer;
247
+ }
243
248
  transferables.push(message.value);
244
249
  }
245
250
  if (transferStreams && transferStreamsSupported) {
@@ -207,10 +207,14 @@ class ZipReader {
207
207
  }
208
208
  directoryDataOffset -= directoryDataLength;
209
209
  }
210
+ if (directoryDataOffset >= reader.size) {
211
+ prependedDataLength = reader.size - directoryDataOffset - directoryDataLength - END_OF_CENTRAL_DIR_LENGTH;
212
+ directoryDataOffset = reader.size - directoryDataLength - END_OF_CENTRAL_DIR_LENGTH;
213
+ }
210
214
  if (expectedLastDiskNumber != lastDiskNumber) {
211
215
  throw new Error(ERR_SPLIT_ZIP_FILE);
212
216
  }
213
- if (directoryDataOffset < 0 || directoryDataOffset >= reader.size) {
217
+ if (directoryDataOffset < 0) {
214
218
  throw new Error(ERR_BAD_FORMAT);
215
219
  }
216
220
  let offset = 0;
@@ -221,7 +225,7 @@ class ZipReader {
221
225
  if (getUint32(directoryView, offset) != CENTRAL_FILE_HEADER_SIGNATURE && directoryDataOffset != expectedDirectoryDataOffset) {
222
226
  const originalDirectoryDataOffset = directoryDataOffset;
223
227
  directoryDataOffset = expectedDirectoryDataOffset;
224
- prependedDataLength = directoryDataOffset - originalDirectoryDataOffset;
228
+ prependedDataLength += directoryDataOffset - originalDirectoryDataOffset;
225
229
  directoryArray = await readUint8Array(reader, directoryDataOffset, directoryDataLength, diskNumber);
226
230
  directoryView = getDataView(directoryArray);
227
231
  }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "A JavaScript library to zip and unzip files in the browser, Deno and Node.js",
4
4
  "author": "Gildas Lormeau",
5
5
  "license": "BSD-3-Clause",
6
- "version": "2.7.30",
6
+ "version": "2.7.32",
7
7
  "type": "module",
8
8
  "keywords": [
9
9
  "zip",