| ... | ... | @@ -659,6 +659,10 @@ pub fn decodeBlock( |
| 659 | 659 | sequence_size_limit -= decompressed_size; |
| 660 | 660 | } |
| 661 | 661 | |
| 662 | if (bit_stream.bit_reader.bit_count != 0) { |
| 663 | return error.MalformedCompressedBlock; |
| 664 | } |
| 665 | |
| 662 | 666 | bytes_read += bit_stream_bytes.len; |
| 663 | 667 | } |
| 664 | 668 | if (bytes_read != block_size) return error.MalformedCompressedBlock; |
| ... | ... | @@ -745,6 +749,10 @@ pub fn decodeBlockRingBuffer( |
| 745 | 749 | sequence_size_limit -= decompressed_size; |
| 746 | 750 | } |
| 747 | 751 | |
| 752 | if (bit_stream.bit_reader.bit_count != 0) { |
| 753 | return error.MalformedCompressedBlock; |
| 754 | } |
| 755 | |
| 748 | 756 | bytes_read += bit_stream_bytes.len; |
| 749 | 757 | } |
| 750 | 758 | if (bytes_read != block_size) return error.MalformedCompressedBlock; |
| ... | ... | @@ -828,6 +836,9 @@ pub fn decodeBlockReader( |
| 828 | 836 | sequence_size_limit -= decompressed_size; |
| 829 | 837 | bytes_written += decompressed_size; |
| 830 | 838 | } |
| 839 | if (bit_stream.bit_reader.bit_count != 0) { |
| 840 | return error.MalformedCompressedBlock; |
| 841 | } |
| 831 | 842 | } |
| 832 | 843 | |
| 833 | 844 | if (decode_state.literal_written_count < literals.header.regenerated_size) { |