fix: баг в unzip() — неверное смещение compressed size (+14 вместо start+18)
Deploy drhider / validate (push) Waiting to run
Deploy drhider / validate (push) Waiting to run
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user