[svn-r17755] Purpose: Fix assertion failure caused by H5Tcommit1/2

Description:
Calling H5Tcommit_anon on a file with read only access would cause an
assertion failure.  Added a check to H5T_commit to return a failure in
this case.  Removed redundant check in H5T_commit_named.

Tested: Fedora 11 (very minor change)
This commit is contained in:
Neil Fortner
2009-10-27 16:29:54 -05:00
parent 34c8292e76
commit 3df83b192d
2 changed files with 15 additions and 4 deletions

View File

@@ -199,10 +199,6 @@ 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;
@@ -338,6 +334,10 @@ H5T_commit(H5F_t *file, H5T_t *type, hid_t tcpl_id, hid_t dxpl_id)
HDassert(type);
HDassert(tcpl_id != H5P_DEFAULT);
/* Check if we are allowed to write to this file */
if(0 == (H5F_INTENT(file) & H5F_ACC_RDWR))
HGOTO_ERROR(H5E_DATATYPE, H5E_WRITEERROR, FAIL, "no write intent on file")
/*
* Check arguments. We cannot commit an immutable type because H5Tclose()
* normally fails on such types (try H5Tclose(H5T_NATIVE_INT)) but closing