fix: баг в unzip() — неверное смещение compressed size (+14 вместо start+18)
Deploy drhider / validate (push) Waiting to run

This commit is contained in:
2026-07-12 15:01:33 +04:00
parent ee42865fcd
commit 9145345882
2 changed files with 5 additions and 3 deletions
+4 -2
View File
@@ -159,10 +159,12 @@ async function unzip(zb) {
while (pos < buf.byteLength - 4) {
const sig = dv.getUint32(pos, true);
if (sig === 0x04034b50) {
pos += 26; const nl = dv.getUint16(pos, true); pos += 2;
const start = pos; // Начало local file header
pos += 26;
const nl = dv.getUint16(pos, true); pos += 2;
const el = dv.getUint16(pos, true); pos += 2;
const nm = new TextDecoder().decode(new Uint8Array(buf, pos, nl)); pos += nl + el;
const cs = dv.getUint32(pos - nl - el + 14, true);
const cs = dv.getUint32(start + 18, true); // compressed size at offset 18
files[nm] = new Blob([new Uint8Array(buf, pos, cs)]); pos += cs;
} else break;
}