Skip to content

[C++][Parquet] Avoid unbounded temporary allocation in DELTA_(LENGTH_)BYTE_ARRAY decoder #49837

@pitrou

Description

@pitrou

Describe the bug, including details regarding any error messages, version, and platform.

DeltaLengthByteArrayDecoder::DecodeArrow and DeltaByteArrayDecoder::DecodeArrow both allocate a temporary std::vector for the entire range of decoded values.
This generates out-of-memory failures in the Parquet encoding fuzzer as this unbounded allocation bypasses the custom fuzzing memory pool.

This issue was found by OSS-Fuzz: https://oss-fuzz.com/testcase-detail/6634166832922624

Component(s)

C++, Parquet

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions