Skip to content

1.4.3

@splitbrain splitbrain tagged this 20 Jul 14:33
writebytesAt() back-patches the CRC and sizes into a streamed local file
header. The in-memory branch appended the patched buffer to itself and
omitted the replacement length, so it duplicated data and left the header
fields at zero instead of overwriting them in place. This corrupted any
in-memory archive where an addFile() entry followed another entry; the
fault stayed hidden because the library and several tools read those
values from the central directory rather than the local header.

Now the in-memory branch overwrites the header bytes in place, matching
the file-backed branch.
Assets 2
Loading