summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2009-10-27 20:56:54 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2009-10-27 20:56:54 (GMT)
commit34c8292e76d33024e11e74c864a410b321f5dd5a (patch)
tree3125989ca809112ea42e521908c5fee6a7657fdb /src
parentab3f3e0219d80b5407fe5da785a7faae443c7ffc (diff)
downloadhdf5-34c8292e76d33024e11e74c864a410b321f5dd5a.zip
hdf5-34c8292e76d33024e11e74c864a410b321f5dd5a.tar.gz
hdf5-34c8292e76d33024e11e74c864a410b321f5dd5a.tar.bz2
[svn-r17751] Purpose: Fix assertion failure caused by H5Tcommit1/2
Description: Calling H5Tcommit1 or H5Tcommit2 on a file with read only access would cause an assertion failure. Added a check to H5T_commit_named to return a failure in this case. Also a minor fix in the link_filters test. Tested: Fedora 11 (very minor change)
Diffstat (limited to 'src')
-rw-r--r--src/H5Tcommit.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/H5Tcommit.c b/src/H5Tcommit.c
index f580c15..ebdf283 100644
--- a/src/H5Tcommit.c
+++ b/src/H5Tcommit.c
@@ -199,6 +199,10 @@ H5T_commit_named(const H5G_loc_t *loc, const char *name, H5T_t *dt,
HDassert(tapl_id != H5P_DEFAULT);
HDassert(dxpl_id != H5P_DEFAULT);
+ /* Check if we are allowed to write to this file */
+ if(0 == (H5F_INTENT(loc->oloc->file) & H5F_ACC_RDWR))
+ HGOTO_ERROR(H5E_DATATYPE, H5E_WRITEERROR, FAIL, "no write intent on file")
+
/* Record the type's state so that we can revert to it if linking fails */
old_state = dt->shared->state;