summaryrefslogtreecommitdiffstats
path: root/src/H5Ocache.c
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2015-07-15 20:33:50 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2015-07-15 20:33:50 (GMT)
commit5065c139c78c1ff9d8c21f98a46d969a31f254be (patch)
tree5e7550e1139058e9968db63857274fde457a0e37 /src/H5Ocache.c
parent1ed71c503796eea0e746726f041e2b5b4e181bf2 (diff)
parent12b86abf18d831a2eeb337146187e220a50fafb2 (diff)
downloadhdf5-5065c139c78c1ff9d8c21f98a46d969a31f254be.zip
hdf5-5065c139c78c1ff9d8c21f98a46d969a31f254be.tar.gz
hdf5-5065c139c78c1ff9d8c21f98a46d969a31f254be.tar.bz2
[svn-r27397] Merge revisions 27255 through 27393 from trunk to vds branch.
Tested: ummon
Diffstat (limited to 'src/H5Ocache.c')
-rw-r--r--src/H5Ocache.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/H5Ocache.c b/src/H5Ocache.c
index db1bd1f..203d0fc 100644
--- a/src/H5Ocache.c
+++ b/src/H5Ocache.c
@@ -1130,7 +1130,7 @@ H5O__chunk_deserialize(H5O_t *oh, haddr_t addr, size_t len, const uint8_t *image
id = *chunk_image++;
/* Check for unknown message ID getting encoded in file */
- if(id == H5O_UNKNOWN_ID)
+ if(id >= H5O_UNKNOWN_ID)
HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "'unknown' message ID encoded in file?!?")
/* Message size */
@@ -1218,9 +1218,10 @@ H5O__chunk_deserialize(H5O_t *oh, haddr_t addr, size_t len, const uint8_t *image
/* Set message to "unknown" class */
oh->mesg[mesgno].type = H5O_msg_class_g[H5O_UNKNOWN_ID];
- /* Check for "fail if unknown" message flag */
- if((udata->file_intent & H5F_ACC_RDWR) &&
- (flags & H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE))
+ /* Check for "fail if unknown" message flags */
+ if(((udata->file_intent & H5F_ACC_RDWR) &&
+ (flags & H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE))
+ || (flags & H5O_MSG_FLAG_FAIL_IF_UNKNOWN_ALWAYS))
HGOTO_ERROR(H5E_OHDR, H5E_BADMESG, FAIL, "unknown message with 'fail if unknown' flag found")
/* Check for "mark if unknown" message flag, etc. */
else if((flags & H5O_MSG_FLAG_MARK_IF_UNKNOWN) &&