From f81b3a2095248e3dbb8b422d693dc752828dc94d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20Anic=CC=81?= Date: Wed, 14 Feb 2024 13:32:19 +0100 Subject: [PATCH] fix reading input stream during decompression By using read instead of readAll decompression reader could get bytes then available in the stream and then later wrongly failed with end of stream. --- lib/std/compress/flate/bit_reader.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/compress/flate/bit_reader.zig b/lib/std/compress/flate/bit_reader.zig index e8717c8e17..a31813f42a 100644 --- a/lib/std/compress/flate/bit_reader.zig +++ b/lib/std/compress/flate/bit_reader.zig @@ -55,7 +55,7 @@ pub fn BitReader(comptime ReaderType: type) type { (self.nbits >> 3); // 0 for 0-7, 1 for 8-16, ... same as / 8 var buf: [8]u8 = [_]u8{0} ** 8; - const bytes_read = self.forward_reader.read(buf[0..empty_bytes]) catch 0; + const bytes_read = self.forward_reader.readAll(buf[0..empty_bytes]) catch 0; if (bytes_read > 0) { const u: u64 = std.mem.readInt(u64, buf[0..8], .little); self.bits |= u << @as(u6, @intCast(self.nbits));