diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2023-04-11 19:08:46 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-11 19:08:46 (GMT) |
commit | 027ee7c63389a6587acdd30fe386043ce7d78bad (patch) | |
tree | cf9b5250c6c4ef5b435ea20ad08c6e75c764836a /release_docs | |
parent | 281071907b9744ed4d560343bb6fe052efdf497b (diff) | |
download | hdf5-027ee7c63389a6587acdd30fe386043ce7d78bad.zip hdf5-027ee7c63389a6587acdd30fe386043ce7d78bad.tar.gz hdf5-027ee7c63389a6587acdd30fe386043ce7d78bad.tar.bz2 |
Fix a heap buffer overflow during H5D__compact_readvv (GitHub #2606) (#2664)
Diffstat (limited to 'release_docs')
-rw-r--r-- | release_docs/RELEASE.txt | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index be040f4..a33c97b 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -151,6 +151,25 @@ Bug Fixes since HDF5-1.13.3 release =================================== Library ------- + - Fixed a heap buffer overflow that occurs when reading from + a dataset with a compact layout within a malformed HDF5 file + + During opening of a dataset that has a compact layout, the + library allocates a buffer that stores the dataset's raw data. + The dataset's object header that gets written to the file + contains information about how large of a buffer the library + should allocate. If this object header is malformed such that + it causes the library to allocate a buffer that is too small + to hold the dataset's raw data, future I/O to the dataset can + result in heap buffer overflows. To fix this issue, an extra + check is now performed for compact datasets to ensure that + the size of the allocated buffer matches the expected size + of the dataset's raw data (as calculated from the dataset's + dataspace and datatype information). If the two sizes do not + match, opening of the dataset will fail. + + (JTH - 2023/04/04, GH-2606) + - Fixed a memory corruption issue that can occur when reading from a dataset using a hyperslab selection in the file dataspace and a point selection in the memory dataspace |