Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Infinite Loop possible in ColumnReader::read_batch For Corrupted Files #1997

Closed
tustvold opened this issue Jul 3, 2022 · 0 comments · Fixed by #1995
Closed

Infinite Loop possible in ColumnReader::read_batch For Corrupted Files #1997

tustvold opened this issue Jul 3, 2022 · 0 comments · Fixed by #1995
Labels
bug parquet Changes to the parquet crate

Comments

@tustvold
Copy link
Contributor

tustvold commented Jul 3, 2022

Describe the bug

If a parquet file contained a page that claimed to have more values in its page metadata, that it actually has, it could cause ColumnReader::read_batch to get stuck in an infinite loop trying to read more rows and each iteration reading none

To Reproduce

Inspect code

Expected behavior

We should verify that we read the correct number of levels / values each time

@tustvold tustvold added the bug label Jul 3, 2022
@tustvold tustvold changed the title Invalid Parquet Infinite Column Reader Loop Prevent Infinite Loop in ColumnReader::read_batch For Corrupted Files Jul 3, 2022
@alamb alamb added the parquet Changes to the parquet crate label Jul 5, 2022
@alamb alamb changed the title Prevent Infinite Loop in ColumnReader::read_batch For Corrupted Files Infinite Loop in ColumnReader::read_batch For Corrupted Files Jul 7, 2022
@alamb alamb changed the title Infinite Loop in ColumnReader::read_batch For Corrupted Files Infinite Loop possible in ColumnReader::read_batch For Corrupted Files Jul 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug parquet Changes to the parquet crate
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants