| ... | ... | @@ -678,7 +678,12 @@ pub fn decodeBlock( |
| 678 | 678 | bytes_written += len; |
| 679 | 679 | } |
| 680 | 680 | |
| 681 | | if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock; |
| 681 | switch (decode_state.literal_header.block_type) { |
| 682 | .treeless, .compressed => { |
| 683 | if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock; |
| 684 | }, |
| 685 | .raw, .rle => {}, |
| 686 | } |
| 682 | 687 | |
| 683 | 688 | consumed_count.* += block_size; |
| 684 | 689 | return bytes_written; |
| ... | ... | @@ -766,7 +771,12 @@ pub fn decodeBlockRingBuffer( |
| 766 | 771 | bytes_written += len; |
| 767 | 772 | } |
| 768 | 773 | |
| 769 | | if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock; |
| 774 | switch (decode_state.literal_header.block_type) { |
| 775 | .treeless, .compressed => { |
| 776 | if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock; |
| 777 | }, |
| 778 | .raw, .rle => {}, |
| 779 | } |
| 770 | 780 | |
| 771 | 781 | consumed_count.* += block_size; |
| 772 | 782 | if (bytes_written > block_size_max) return error.BlockSizeOverMaximum; |
| ... | ... | @@ -853,7 +863,12 @@ pub fn decodeBlockReader( |
| 853 | 863 | bytes_written += len; |
| 854 | 864 | } |
| 855 | 865 | |
| 856 | | if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock; |
| 866 | switch (decode_state.literal_header.block_type) { |
| 867 | .treeless, .compressed => { |
| 868 | if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock; |
| 869 | }, |
| 870 | .raw, .rle => {}, |
| 871 | } |
| 857 | 872 | |
| 858 | 873 | if (bytes_written > block_size_max) return error.BlockSizeOverMaximum; |
| 859 | 874 | if (block_reader_limited.bytes_left != 0) return error.MalformedCompressedBlock; |