summaryrefslogtreecommitdiffstats
path: root/src/H5Ocache.c
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2016-07-11 18:19:35 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2016-07-11 18:19:35 (GMT)
commite1d50d498a0affbbd6e088b524fd495ea95dea88 (patch)
treee4397791c3dff3646a489accb3185c9473254e61 /src/H5Ocache.c
parent2bee235cf9a31fb12856eabfadd90a27eb2bb200 (diff)
downloadhdf5-e1d50d498a0affbbd6e088b524fd495ea95dea88.zip
hdf5-e1d50d498a0affbbd6e088b524fd495ea95dea88.tar.gz
hdf5-e1d50d498a0affbbd6e088b524fd495ea95dea88.tar.bz2
[svn-r30166] Merge revision 30131 to 1.8 branch
Fix bug reported by Cisco Talos TALOS-CAN-0178. Added check for a message that should not be sharable being marked as sharable on disk, returns failure in this case. Needs testing. Tested: ummon (trunk) h5committest (1.8)
Diffstat (limited to 'src/H5Ocache.c')
-rw-r--r--src/H5Ocache.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/H5Ocache.c b/src/H5Ocache.c
index 9057223..2aaf933 100644
--- a/src/H5Ocache.c
+++ b/src/H5Ocache.c
@@ -1134,6 +1134,10 @@ H5O_chunk_deserialize(H5O_t *oh, haddr_t addr, size_t len, const uint8_t *image,
HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "bad flag combination for message")
if((flags & H5O_MSG_FLAG_WAS_UNKNOWN) && !(flags & H5O_MSG_FLAG_MARK_IF_UNKNOWN))
HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "bad flag combination for message")
+ if((flags & H5O_MSG_FLAG_SHAREABLE)
+ && H5O_msg_class_g[id]
+ && !(H5O_msg_class_g[id]->share_flags & H5O_SHARE_IS_SHARABLE))
+ HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "message of unsharable class flagged as sharable")
/* Reserved bytes/creation index */
if(oh->version == H5O_VERSION_1)