diff options
author | Vailin Choi <vchoi@jam.ad.hdfgroup.org> | 2020-03-13 16:22:22 (GMT) |
---|---|---|
committer | David Young <dyoung@hdfgroup.org> | 2020-05-20 14:31:56 (GMT) |
commit | 1612e90c2b7c137d1dcea192e2e386ec88e18eac (patch) | |
tree | b47ffecac9323a11a54d7e0c2b1bc8042670c772 /src/H5Snone.c | |
parent | 313501fd17addcab9799695fceb962599eed327c (diff) | |
download | hdf5-1612e90c2b7c137d1dcea192e2e386ec88e18eac.zip hdf5-1612e90c2b7c137d1dcea192e2e386ec88e18eac.tar.gz hdf5-1612e90c2b7c137d1dcea192e2e386ec88e18eac.tar.bz2 |
Fix issues when deserializing point/all/none selection with version beyond the library's supported version:
(1) Verify the decoded version before proceeding further with deserialization
(2) Close the dataspace if errors occurred after opening the dataspace
Diffstat (limited to 'src/H5Snone.c')
-rw-r--r-- | src/H5Snone.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/H5Snone.c b/src/H5Snone.c index 0949b2a..630d1d5 100644 --- a/src/H5Snone.c +++ b/src/H5Snone.c @@ -648,6 +648,9 @@ H5S__none_deserialize(H5S_t **space, const uint8_t **p) /* Decode version */ UINT32DECODE(*p, version); + if(version < H5S_NONE_VERSION_1 || version > H5S_NONE_VERSION_LATEST) + HGOTO_ERROR(H5E_DATASPACE, H5E_BADVALUE, FAIL, "bad version number for none selection") + /* Skip over the remainder of the header */ *p += 8; |