summaryrefslogtreecommitdiffstats
path: root/src/H5Gstab.c
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2009-04-09 20:24:35 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2009-04-09 20:24:35 (GMT)
commit0c9806bb0e3bebd1548c9946fd43f10fae841650 (patch)
treea8f67d1e21b69ce7eafb81c6f97022db30ea6f80 /src/H5Gstab.c
parent1dffdaa262aae487df0e9103466c14eafd882559 (diff)
downloadhdf5-0c9806bb0e3bebd1548c9946fd43f10fae841650.zip
hdf5-0c9806bb0e3bebd1548c9946fd43f10fae841650.tar.gz
hdf5-0c9806bb0e3bebd1548c9946fd43f10fae841650.tar.bz2
[svn-r16722] Purpose: Fix problems with "no strict format checks"
Description: Changed H5G_mkroot to be tolerant of files with symbol table information cached but no symbol table in the root group. Also changed H5G_mkroot to properly clean up in case of an error, and changed H5G_stab_is_valid to properly detect errors in H5O_msg_read. Tested: jam, linew, smirom (h5committest), jam (--disable-strict-format-checks)
Diffstat (limited to 'src/H5Gstab.c')
-rw-r--r--src/H5Gstab.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/H5Gstab.c b/src/H5Gstab.c
index c2df8e7..52c9d07 100644
--- a/src/H5Gstab.c
+++ b/src/H5Gstab.c
@@ -1011,7 +1011,8 @@ H5G_stab_valid(H5O_loc_t *grp_oloc, hid_t dxpl_id, H5O_stab_t *alt_stab)
FUNC_ENTER_NOAPI(H5G_stab_valid, FAIL)
/* Read the symbol table message */
- H5O_msg_read(grp_oloc, H5O_STAB_ID, &stab, dxpl_id);
+ if(NULL == H5O_msg_read(grp_oloc, H5O_STAB_ID, &stab, dxpl_id))
+ HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "unable to read symbol table message");
/* Check if the symbol table message's b-tree address is valid */
if(H5B_valid(grp_oloc->file, dxpl_id, H5B_SNODE, stab.btree_addr) < 0) {