From d2149106a6c03301d0467283814db86be030b335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20Anic=CC=81?= Date: Tue, 5 Aug 2025 18:47:22 +0200 Subject: [PATCH] flate zlib fix end of block reading `n` is wanted number of bits to toss `buffered_n` is actual number of bytes in `next_int` --- lib/std/compress/flate/Decompress.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/compress/flate/Decompress.zig b/lib/std/compress/flate/Decompress.zig index da57d56ab8..7c58905ee1 100644 --- a/lib/std/compress/flate/Decompress.zig +++ b/lib/std/compress/flate/Decompress.zig @@ -603,7 +603,7 @@ fn tossBitsEnding(d: *Decompress, n: u4) !void { error.EndOfStream => unreachable, }; d.next_bits = next_int >> needed_bits; - d.remaining_bits = @intCast(@as(usize, n) * 8 -| @as(usize, needed_bits)); + d.remaining_bits = @intCast(@as(usize, buffered_n) * 8 -| @as(usize, needed_bits)); } fn takeBitsRuntime(d: *Decompress, n: u4) !u16 {