zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 980445f08bfee496f4e784b05653e1698addaac8 (tree)
parent 722e066173f5235b1dd1b341acb5cb1e79002ed7
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Tue, 26 Aug 2025 20:49:37 -0700

std.compress.lzma: fix unpacked size checking logic

Diffstat:
Mlib/std/compress/lzma2.zig | 5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/std/compress/lzma2.zig b/lib/std/compress/lzma2.zig @@ -226,18 +226,19 @@ pub const Decode = struct { try ld.resetState(allocating.allocator, new_props); } + const expected_unpacked_size = accum.len + unpacked_size; const start_count = n_read; var range_decoder = try lzma.RangeDecoder.initCounting(reader, &n_read); while (true) { - if (accum.len >= unpacked_size) break; + 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, } } - if (accum.len != unpacked_size) return error.DecompressedSizeMismatch; + if (accum.len != expected_unpacked_size) return error.DecompressedSizeMismatch; if (n_read - start_count != packed_size) return error.CompressedSizeMismatch; return n_read;