Commit 35f013db11

binarycraft007 <elliot.huang.signed@gmail.com>
2025-09-03 04:25:32
lzma2: fix premature finish
lzma2 Decoder already checks if decoding is finished or not inside the process function, `range_decoder`finish does not mean the decoder has finished, also need to check `ld.rep[0] == 0xFFFF_FFFF`, which was already done inside the proccess function. This fix delete the redundant `isFinish()` check for `range_decoder`.
1 parent d51d18c
Changed files (1)
lib
std
compress
lib/std/compress/lzma2.zig
@@ -233,7 +233,6 @@ pub const Decode = struct {
 
         while (true) {
             if (accum.len >= expected_unpacked_size) break;
-            if (range_decoder.isFinished()) break;
             switch (try ld.process(reader, allocating, accum, &range_decoder, &n_read)) {
                 .more => continue,
                 .finished => break,