authorgravatar for igor.anic@gmail.comIgor Anić <igor.anic@gmail.com> 2024-02-14 13:32:19+01:00
committergravatar for igor.anic@gmail.comIgor Anić <igor.anic@gmail.com> 2024-02-14 18:28:20+01:00
logf81b3a2095248e3dbb8b422d693dc752828dc94d
tree2cd2000ee076c22269bcffdf0628c63e1d526bf1
parentcb3fe277bbbdcf432530cd0a1f3d05d3d924675b

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.

1 files changed, 1 insertions(+), 1 deletions(-)

lib/std/compress/flate/bit_reader.zig+1-1
......@@ -55,7 +55,7 @@ pub fn BitReader(comptime ReaderType: type) type {
5555 (self.nbits >> 3); // 0 for 0-7, 1 for 8-16, ... same as / 8
5656
5757 var buf: [8]u8 = [_]u8{0} ** 8;
58 const bytes_read = self.forward_reader.read(buf[0..empty_bytes]) catch 0;
58 const bytes_read = self.forward_reader.readAll(buf[0..empty_bytes]) catch 0;
5959 if (bytes_read > 0) {
6060 const u: u64 = std.mem.readInt(u64, buf[0..8], .little);
6161 self.bits |= u << @as(u6, @intCast(self.nbits));