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

Fix a bug in Subfiling VFD vector I/O setup #4821

Merged
merged 2 commits into from
Sep 12, 2024

Conversation

jhendersonHDF
Copy link
Collaborator

Fixes a bug where the vector I/O sizes weren't being extended when one of the entries in the array is 0. This caused an overread of the I/O sizes buffer and on some machines would cause a memory allocation failure due to the calculated I/O vector size being too large.

@jhendersonHDF jhendersonHDF added Merge - To 1.14 Priority - 0. Blocker ⛔ This MUST be merged for the release to happen Component - C Library Core C library issues (usually in the src directory) Component - Parallel Parallel HDF5 (NOT thread-safety) Type - Bug Please report security issues to help@hdfgroup.org instead of creating an issue on GitHub labels Sep 10, 2024
Fixes a bug where the vector I/O sizes weren't being extended when
one of the entries in the array is 0. This caused an over-read of
the I/O sizes buffer and on some machines would cause a memory
allocation failure due to the calculated I/O vector size being too
large.
@jhendersonHDF
Copy link
Collaborator Author

Will add a release note after checking testing on an HPC machine. The current testing in t_vfd.c wasn't generally catching this as the I/O sizes array was allocated on the stack and passed in. The buffer over-read was then usually reading valid memory for the process. Adding a test with an array allocated on the heap has a much better chance of triggering the issue.

@lrknox
Copy link
Collaborator

lrknox commented Sep 11, 2024

MPI_TEST_t_vfd and 2930 other tests all passed on frontier, testing the subfiling_vector_io_bugfix branch with gcc-native/13.2 compiler: https://my.cdash.org/builds/2656168. The test has been failing consistently in this configuration.

@lrknox lrknox merged commit 98c5411 into HDFGroup:develop Sep 12, 2024
56 checks passed
lrknox pushed a commit to lrknox/hdf5 that referenced this pull request Sep 13, 2024
Fixes a bug where the vector I/O sizes weren't being extended when
one of the entries in the array is 0. This caused an over-read of
the I/O sizes buffer and on some machines would cause a memory
allocation failure due to the calculated I/O vector size being too
large.
derobins pushed a commit that referenced this pull request Sep 16, 2024
* Convert exec_program to execute_process (#4819)

* Fix a bug in Subfiling VFD vector I/O setup (#4821)

Fixes a bug where the vector I/O sizes weren't being extended when
one of the entries in the array is 0. This caused an over-read of
the I/O sizes buffer and on some machines would cause a memory
allocation failure due to the calculated I/O vector size being too
large.

* Add release note for signed binaries (#4826)

* Draw attention to 3rd step in process to update so numbers for release. (#4825)

* Update RESULT_VARIABLE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component - C Library Core C library issues (usually in the src directory) Component - Parallel Parallel HDF5 (NOT thread-safety) Priority - 0. Blocker ⛔ This MUST be merged for the release to happen Type - Bug Please report security issues to help@hdfgroup.org instead of creating an issue on GitHub
Projects
Status: Needs Merged
Development

Successfully merging this pull request may close these issues.

3 participants