mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 07:57:46 +00:00
LibCompress+Tests: Demonstrate and fix faulty metadata length
The test-case is heavily inspired by: https://github.com/google/brotli/blob/master/tests/testdata/x.compressed.01 Or in words: A metadata meta-block containing `Y` (which should be ignored), and then the actual data (a single `Z`). The bug used to skip one metadata byte too few, and thus read garbage.
This commit is contained in:
parent
fe48fed4fa
commit
8de7a91571
4 changed files with 7 additions and 1 deletions
|
@ -605,7 +605,7 @@ ErrorOr<Bytes> BrotliDecompressionStream::read(Bytes output_buffer)
|
|||
return Error::from_string_literal("invalid reserved bit");
|
||||
|
||||
size_t skip_bytes = TRY(m_input_stream.read_bits(2));
|
||||
size_t skip_length = TRY(m_input_stream.read_bits(8 * skip_bytes));
|
||||
size_t skip_length = 1 + TRY(m_input_stream.read_bits(8 * skip_bytes));
|
||||
|
||||
u8 remainder = m_input_stream.align_to_byte_boundary();
|
||||
if (remainder != 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue