summaryrefslogtreecommitdiffstats
path: root/src/H5Odtype.c
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2016-09-08 18:47:22 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2016-09-08 18:47:22 (GMT)
commitbc10fd219e60fc4b9df7d80567ecb1e39ae5b6e3 (patch)
treedbd0e5ba53c9706a1cd7e14e693db3aa1a047907 /src/H5Odtype.c
parent130e0a6638351bbdb7e53a82e5bdb810fd13a903 (diff)
downloadhdf5-bc10fd219e60fc4b9df7d80567ecb1e39ae5b6e3.zip
hdf5-bc10fd219e60fc4b9df7d80567ecb1e39ae5b6e3.tar.gz
hdf5-bc10fd219e60fc4b9df7d80567ecb1e39ae5b6e3.tar.bz2
Change check for number of dimensions for old-style arrays in datatype decoding routine from an assertion to an if/HGOTO_ERROR check, since it is inappropriate to assert the contents of a file will be what we expect.
Diffstat (limited to 'src/H5Odtype.c')
-rw-r--r--src/H5Odtype.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/H5Odtype.c b/src/H5Odtype.c
index e51d319..3c3f284 100644
--- a/src/H5Odtype.c
+++ b/src/H5Odtype.c
@@ -311,7 +311,11 @@ H5O_dtype_decode_helper(H5F_t *f, unsigned *ioflags/*in,out*/, const uint8_t **p
if(version == H5O_DTYPE_VERSION_1) {
/* Decode the number of dimensions */
ndims = *(*pp)++;
- HDassert(ndims <= 4);
+
+ /* Check that ndims is valid */
+ if(ndims > 4)
+ HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "invalid number of dimensions for array")
+
*pp += 3; /*reserved bytes */
/* Skip dimension permutation */