From a31a52259c8c07ea44a43b13e6a7ed0e7323550e Mon Sep 17 00:00:00 2001 From: jhendersonHDF Date: Fri, 10 May 2024 16:28:53 -0500 Subject: [PATCH] Fix an issue where compound datatype member IDs can be leaked during conversion (#4459) Also fixes issues with handling of partially initialized datatypes during library shutdown --- release_docs/RELEASE.txt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 0108f235722..af22c3023d0 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -502,6 +502,23 @@ Bug Fixes since HDF5-1.14.4 release =================================== Library ------- + - Fixed a leak of datatype IDs created internally during datatype conversion + + Fixed an issue where the library could leak IDs that it creates internally + for compound datatype members during datatype conversion. When the library's + table of datatype conversion functions is modified (such as when a new + conversion function is registered with the library from within an application), + the compound datatype conversion function has to recalculate data that it + has cached. When recalculating that data, the library was registering new + IDs for each of the members of the source and destination compound datatypes + involved in the conversion process and was overwriting the old cached IDs + without first closing them. This would result in use-after-free issues due + to multiple IDs pointing to the same internal H5T_t structure, as well as + crashes due to the library not gracefully handling partially initialized or + partially freed datatypes on library termination. + + Fixes h5py GitHub #2419 + - Fixed function H5Requal actually to compare the reference pointers Fixed an issue with H5Requal always returning true because the