From 683d3f72427b39bea5827a0a1c1fc4c74dbe246e Mon Sep 17 00:00:00 2001 From: Cameron Conn Date: Mon, 1 Feb 2021 14:27:39 -0600 Subject: [PATCH] Don't read more bytes than exist in MsfStream (#7839) --- lib/std/pdb.zig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/std/pdb.zig b/lib/std/pdb.zig index 41356e84f5..6a47cd6e8b 100644 --- a/lib/std/pdb.zig +++ b/lib/std/pdb.zig @@ -662,6 +662,7 @@ const MsfStream = struct { fn read(self: *MsfStream, buffer: []u8) !usize { var block_id = @intCast(usize, self.pos / self.block_size); + if (block_id >= self.blocks.len) return 0; // End of Stream var block = self.blocks[block_id]; var offset = self.pos % self.block_size; @@ -680,6 +681,7 @@ const MsfStream = struct { if (offset == self.block_size) { offset = 0; block_id += 1; + if (block_id >= self.blocks.len) break; // End of Stream block = self.blocks[block_id]; try self.in_file.seekTo(block * self.block_size); }