From 673b7bb88edd084602ca3aa1558bd4dbf32173e8 Mon Sep 17 00:00:00 2001 From: antoinelyset Date: Tue, 17 Dec 2024 10:32:02 +0100 Subject: [PATCH 1/2] fix: Deduplicate entries --- node_stream_zip.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node_stream_zip.js b/node_stream_zip.js index b27cf20..639f6b5 100644 --- a/node_stream_zip.js +++ b/node_stream_zip.js @@ -369,7 +369,7 @@ const StreamZip = function (config) { if (!config.skipEntryNameValidation) { entry.validateName(); } - if (entries) { + if (!entries[entry.name] || entry.headerOffset > entries[entry.name].headerOffset) { entries[entry.name] = entry; } that.emit('entry', entry); From 7df7881d668cefa832fcf16ff56f15c42c4849be Mon Sep 17 00:00:00 2001 From: antoinelyset Date: Tue, 17 Dec 2024 10:42:52 +0100 Subject: [PATCH 2/2] fix: Deduplicate entries first --- node_stream_zip.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node_stream_zip.js b/node_stream_zip.js index 639f6b5..b9082e1 100644 --- a/node_stream_zip.js +++ b/node_stream_zip.js @@ -369,7 +369,7 @@ const StreamZip = function (config) { if (!config.skipEntryNameValidation) { entry.validateName(); } - if (!entries[entry.name] || entry.headerOffset > entries[entry.name].headerOffset) { + if (entries && !(entry.name in entries)) { entries[entry.name] = entry; } that.emit('entry', entry);