summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doxygen/aliases3
-rw-r--r--doxygen/dox/RFC.dox3
-rw-r--r--release_docs/RELEASE.txt11
-rw-r--r--src/H5Fsuper.c4
-rw-r--r--src/H5Gcompact.c2
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 */