Skip to content

Conversation

@pitrou
Copy link
Member

@pitrou pitrou commented Jan 21, 2026

What changes are included in this PR?

Bug fixes and robustness improvements in the IPC file reader:

  • Fix bug reading variadic buffers with pre-buffering enabled
  • Fix bug reading dictionaries with pre-buffering enabled
  • Validate IPC buffer offsets and lengths

Testing improvements:

  • Exercise pre-buffering in IPC tests
  • Actually exercise variadic buffers in IPC tests, by ensuring non-inline binary views are generated
  • Run fuzz targets on golden IPC integration files in ASAN/UBSAN CI job
  • Exercise pre-buffering in the IPC file fuzz target

Miscellaneous:

  • Add convenience functions for integer overflow checking

Are these changes tested?

Yes, by existing and improved tests.

Are there any user-facing changes?

Bug fixes.

This PR contains a "Critical Fix". Fixes a potential crash reading variadic buffers with pre-buffering enabled.

@pitrou
Copy link
Member Author

pitrou commented Jan 21, 2026

@github-actions crossbow submit -g cpp

@github-actions

This comment was marked as outdated.

@pitrou pitrou force-pushed the gh48924-fuzz-metadata-buffering branch 6 times, most recently from c559b54 to 7749642 Compare January 22, 2026 14:31
@pitrou
Copy link
Member Author

pitrou commented Jan 22, 2026

@github-actions crossbow submit -g cpp

@github-actions
Copy link

Revision: 7749642

Submitted crossbow builds: ursacomputing/crossbow @ actions-cab35a473b

Task Status
example-cpp-minimal-build-static GitHub Actions
example-cpp-minimal-build-static-system-dependency GitHub Actions
example-cpp-tutorial GitHub Actions
test-build-cpp-fuzz GitHub Actions
test-conda-cpp GitHub Actions
test-conda-cpp-valgrind GitHub Actions
test-debian-12-cpp-amd64 GitHub Actions
test-debian-12-cpp-i386 GitHub Actions
test-debian-experimental-cpp-gcc-15 GitHub Actions
test-fedora-42-cpp GitHub Actions
test-ubuntu-22.04-cpp GitHub Actions
test-ubuntu-22.04-cpp-20 GitHub Actions
test-ubuntu-22.04-cpp-bundled GitHub Actions
test-ubuntu-22.04-cpp-emscripten GitHub Actions
test-ubuntu-22.04-cpp-no-threading GitHub Actions
test-ubuntu-24.04-cpp GitHub Actions
test-ubuntu-24.04-cpp-bundled-offline GitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundled GitHub Actions
test-ubuntu-24.04-cpp-gcc-14 GitHub Actions
test-ubuntu-24.04-cpp-minimal-with-formats GitHub Actions
test-ubuntu-24.04-cpp-thread-sanitizer GitHub Actions

@pitrou pitrou force-pushed the gh48924-fuzz-metadata-buffering branch from 7749642 to a4ae909 Compare January 22, 2026 15:08
@pitrou pitrou changed the title GH-48924: [C++][CI] Fuzz IPC file metadata pre-buffering GH-48924: [C++][CI] Fix pre-buffering issues in IPC file reader Jan 22, 2026
@pitrou pitrou marked this pull request as ready for review January 22, 2026 15:38
@pitrou
Copy link
Member Author

pitrou commented Jan 22, 2026

@lidavidm @WillAyd Would you like to take a look at this? The changes are non-trivial.

@WillAyd
Copy link
Contributor

WillAyd commented Jan 22, 2026

I'm not overly familiar with this part of Arrow, but generally things look good to me. Happy to offer an explicit approval if desired and no feedback from others

@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting review Awaiting review labels Jan 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants