This happens because of the presumption i_ptr can be wound back 2 bytes. It could, until this change in 2006:

2006-08-31:  Stuart Caie   <[email protected]>

* lzxd_decompress(): [...] the LZX decompression stream can sometimes become
        odd-aligned (after an uncompressed block) and the next 16 bit
        fetch needs to be split across two input buffers

Since this point, it has been possible for READ_BYTES to add 16 bits to the bit-buffer but only have consumed 1 byte of the byte buffer.

A fix has been committed to the libmspack repository.

Regards
Stuart


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to