Ismaël Mejía created AVRO-4285:
----------------------------------
Summary: [c++] Enforce a maximum decompressed block size
Key: AVRO-4285
URL: https://issues.apache.org/jira/browse/AVRO-4285
Project: Apache Avro
Issue Type: Sub-task
Components: c++
Affects Versions: 1.13.0
Reporter: Ismaël Mejía
{{DataFileReaderBase::readDataBlock()}} in {{lang/c++/impl/DataFile.cc}}
decompresses deflate/snappy blocks into a buffer that grows without an upper
bound, and {{lang/c++/impl/ZstdDecompressWrapper.cc}} trusts the zstd frame
content size. The existing {{BoundedInputStream}} bounds only the compressed
input, not the decompressed output.
Enforce a configurable maximum decompressed size across the codecs before/while
growing the output buffer, and fail decoding with a clear error when exceeded.
Add a test with a high-ratio block.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)