| ... | @@ -765,6 +765,9 @@ pub const Frame = struct { | ... | @@ -765,6 +765,9 @@ pub const Frame = struct { |
| 765 | const match_length: usize = sequence.match_length; | 765 | const match_length: usize = sequence.match_length; |
| 766 | const sequence_length = literal_length + match_length; | 766 | const sequence_length = literal_length + match_length; |
| 767 | | 767 | |
| | 768 | if (sequence_length > dest[write_pos..].len) |
| | 769 | return error.MalformedSequence; |
| | 770 | |
| 768 | const copy_start = std.math.sub(usize, write_pos + sequence.literal_length, sequence.offset) catch | 771 | const copy_start = std.math.sub(usize, write_pos + sequence.literal_length, sequence.offset) catch |
| 769 | return error.MalformedSequence; | 772 | return error.MalformedSequence; |
| 770 | | 773 | |