Skip to content

[C++][Parquet] Avoid unbounded temp alloc in BYTE_STREAM_SPLIT decoder #49959

@pitrou

Description

@pitrou

Describe the enhancement requested

The BYTE_STREAM_SPLIT encoder and decoder allocate a SmallVector to hold the addresses of the different streams. While this is valid for small number of streams (which is most or all legitimate use cases), very large numbers of streams (e.g. FLBA(100000000)) can trigger a huge temporary memory allocation.

This issue was found by OSS-Fuzz: https://issues.oss-fuzz.com/issues/511575321

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