mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 14:25:16 +00:00
std.compress.zstandard: fix erroneous literal stream empty checks
This commit is contained in:
parent
8fd41314bd
commit
5a31fc2014
@ -678,7 +678,12 @@ pub fn decodeBlock(
|
||||
bytes_written += len;
|
||||
}
|
||||
|
||||
if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock;
|
||||
switch (decode_state.literal_header.block_type) {
|
||||
.treeless, .compressed => {
|
||||
if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock;
|
||||
},
|
||||
.raw, .rle => {},
|
||||
}
|
||||
|
||||
consumed_count.* += block_size;
|
||||
return bytes_written;
|
||||
@ -766,7 +771,12 @@ pub fn decodeBlockRingBuffer(
|
||||
bytes_written += len;
|
||||
}
|
||||
|
||||
if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock;
|
||||
switch (decode_state.literal_header.block_type) {
|
||||
.treeless, .compressed => {
|
||||
if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock;
|
||||
},
|
||||
.raw, .rle => {},
|
||||
}
|
||||
|
||||
consumed_count.* += block_size;
|
||||
if (bytes_written > block_size_max) return error.BlockSizeOverMaximum;
|
||||
@ -853,7 +863,12 @@ pub fn decodeBlockReader(
|
||||
bytes_written += len;
|
||||
}
|
||||
|
||||
if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock;
|
||||
switch (decode_state.literal_header.block_type) {
|
||||
.treeless, .compressed => {
|
||||
if (!decode_state.isLiteralStreamEmpty()) return error.MalformedCompressedBlock;
|
||||
},
|
||||
.raw, .rle => {},
|
||||
}
|
||||
|
||||
if (bytes_written > block_size_max) return error.BlockSizeOverMaximum;
|
||||
if (block_reader_limited.bytes_left != 0) return error.MalformedCompressedBlock;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user