Skip to content

Validate stream column against selected columns size - #29

Merged
PedroTadim merged 1 commit into
ClickHouse/2.3.1from
fix-orc-compression
Oct 1, 2026
Merged

PedroTadim merged 1 commit into
ClickHouse/2.3.1from
fix-orc-compression

Conversation

@PedroTadim

Copy link
Copy Markdown
Member

What changes were proposed in this pull request?

Why are the changes needed?

How was this patch tested?

Was this patch authored or co-authored using generative AI tooling?

@github-actions github-actions Bot added the CPP label Oct 1, 2026
@PedroTadim
PedroTadim merged commit 0ca4361 into ClickHouse/2.3.1 Oct 1, 2026
1 check passed
PedroTadim added a commit to ClickHouse/ClickHouse that referenced this pull request Oct 2, 2026
A stripe footer can declare a stream for a column id that is not in the file's type tree.
`orc::ReaderImpl::preBuffer` indexed the selected-column mask with that id, which failed the libc++
hardening assertion and aborted the server. Stripes are prebuffered only for remote reads, so the crash
needed `s3` or a data lake table function; `file` and `url` read the same file normally. The library now
throws `orc::ParseError`.

The test reads a 569-byte ORC file, embedded in the test, whose stripe footer declares a stream for
column 20 in a file with 5 columns, through `s3`.

Related: ClickHouse/orc#29

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@PedroTadim
PedroTadim deleted the fix-orc-compression branch October 2, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant