diff options
-rw-r--r-- | doxygen/aliases | 3 | ||||
-rw-r--r-- | doxygen/dox/RFC.dox | 3 | ||||
-rw-r--r-- | release_docs/RELEASE.txt | 11 | ||||
-rw-r--r-- | src/H5Fsuper.c | 4 | ||||
-rw-r--r-- | src/H5Gcompact.c | 2 |
5 files changed, 18 insertions, 5 deletions
diff --git a/doxygen/aliases b/doxygen/aliases index 11fa691..3f40dff 100644 --- a/doxygen/aliases +++ b/doxygen/aliases @@ -264,8 +264,9 @@ ALIASES += ref_rfc20181220="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/3.2.1_3 ALIASES += ref_rfc20180830="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/RFC_Sparse_Chunks180830.pdf\">Sparse Chunks</a>" ALIASES += ref_rfc20180829="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/mirror_VFD_RFC_2018-10-05.pdf\">H5FD_MIRROR Virtual File Driver</a>" ALIASES += ref_rfc20180815="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/splitter_VFD_RFC_180830.pdf\">Splitter_VFD</a>" +ALIASES += ref_rfc20180712="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/RFC_Update_to_HDF5_References.pdf\">Update to HDF5 References</a>" ALIASES += ref_rfc20180620="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/RFC-Chunking%20Functions-2018-06-20-v3.docx.pdf\">Chunk query functionality in HDF5</a>" -ALIASES += ref_rfc20180610="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/VFD_SWMR_RFC_200916.pdf\">VFD SWMR</a>" +ALIASES += ref_rfc20180610="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/VFD_SWMR_RFC_220519.pdf\">VFD SWMR</a>" ALIASES += ref_rfc20180321="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/RFC-API_Contexts-2018-03-21.docx.pdf\">API Contexts</a>" ALIASES += ref_rfc20180125="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/enhance_h5clear.docx.pdf\">Enhancement to the tool <tt>h5clear</tt></a>" ALIASES += ref_rfc20170707="<a href=\"https://docs.hdfgroup.org/hdf5/rfc/H5Sencode_format.docx.pdf\"><tt>H5Sencode/H5Sdecode</tt> Format Change</a>" diff --git a/doxygen/dox/RFC.dox b/doxygen/dox/RFC.dox index c2562b0..f32be4f 100644 --- a/doxygen/dox/RFC.dox +++ b/doxygen/dox/RFC.dox @@ -14,6 +14,7 @@ <tr> <td>2018-08-30</td> <td>\ref_rfc20180830</td> <td></td> </tr> <tr> <td>2018-08-29</td> <td>\ref_rfc20180829</td> <td></td> </tr> <tr> <td>2018-08-15</td> <td>\ref_rfc20180815</td> <td></td> </tr> +<tr> <td>2018-07-12</td> <td>\ref_rfc20180712</td> <td></td> </tr> <tr> <td>2018-06-20</td> <td>\ref_rfc20180620</td> <td></td> </tr> <tr> <td>2018-06-10</td> <td>\ref_rfc20180610</td> <td></td> </tr> <tr> <td>2018-03-21</td> <td>\ref_rfc20180321</td> <td></td> </tr> @@ -99,4 +100,4 @@ <tr> <td>2004-08-11</td> <td>\ref_rfc20040811</td> <td></td> </tr> </table> -*/
\ No newline at end of file +*/ diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 69d9780..d5a860e 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -126,7 +126,16 @@ Bug Fixes since HDF5-1.13.1 release =================================== Library ------- - - + - Converted an assertion on (possibly corrupt) file contents to a normal + error check + + Previously, the library contained an assertion check that a read superblock + doesn't contain a superblock extension message when the superblock + version < 2. When a corrupt HDF5 file is read, this assertion can be triggered + in debug builds of HDF5. In production builds, this situation could cause + either a library error or a crash, depending on the platform. + + (JTH - 2022/07/08) Java Library diff --git a/src/H5Fsuper.c b/src/H5Fsuper.c index 4e4fe8d..6a82a6e 100644 --- a/src/H5Fsuper.c +++ b/src/H5Fsuper.c @@ -687,7 +687,9 @@ H5F__super_read(H5F_t *f, H5P_genplist_t *fa_plist, hbool_t initial_read) /* Sanity check - superblock extension should only be defined for * superblock version >= 2. */ - HDassert(sblock->super_vers >= HDF5_SUPERBLOCK_VERSION_2); + if (sblock->super_vers < HDF5_SUPERBLOCK_VERSION_2) + HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, + "invalid superblock - extension message should not be defined for version < 2") /* Check for superblock extension being located "outside" the stored * 'eoa' value, which can occur with the split/multi VFD. diff --git a/src/H5Gcompact.c b/src/H5Gcompact.c index d98e047..cc6113d 100644 --- a/src/H5Gcompact.c +++ b/src/H5Gcompact.c @@ -138,7 +138,7 @@ H5G__compact_build_table(const H5O_loc_t *oloc, const H5O_linfo_t *linfo, H5_ind H5O_mesg_operator_t op; /* Message operator */ /* Allocate the link table */ - if ((ltable->lnks = (H5O_link_t *)H5MM_malloc(sizeof(H5O_link_t) * ltable->nlinks)) == NULL) + if ((ltable->lnks = (H5O_link_t *)H5MM_calloc(sizeof(H5O_link_t) * ltable->nlinks)) == NULL) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed") /* Set up user data for iteration */ |