diff options
author | M. Scot Breitenfeld <brtnfld@hdfgroup.org> | 2019-02-08 18:00:14 (GMT) |
---|---|---|
committer | M. Scot Breitenfeld <brtnfld@hdfgroup.org> | 2019-02-08 18:00:14 (GMT) |
commit | c752332bfd0e9c3090f3a0c02d0253cd45c2e2ce (patch) | |
tree | 9602624e089f7e560e32a40bf98773054c1573b9 /tools/lib | |
parent | 602bdd1c6ae61f845d135a5c98a90de11e8b06a7 (diff) | |
parent | 4300ca623482508d19caf427fdadce86f811e347 (diff) | |
download | hdf5-c752332bfd0e9c3090f3a0c02d0253cd45c2e2ce.zip hdf5-c752332bfd0e9c3090f3a0c02d0253cd45c2e2ce.tar.gz hdf5-c752332bfd0e9c3090f3a0c02d0253cd45c2e2ce.tar.bz2 |
Merge branch 'develop' into parallel_vds_develop
Diffstat (limited to 'tools/lib')
-rw-r--r-- | tools/lib/h5tools_utils.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/lib/h5tools_utils.c b/tools/lib/h5tools_utils.c index 8ac0d32..e7e017f 100644 --- a/tools/lib/h5tools_utils.c +++ b/tools/lib/h5tools_utils.c @@ -561,6 +561,8 @@ herr_t init_objs(hid_t fid, find_objs_t *info, table_t **group_table, table_t **dset_table, table_t **type_table) { + herr_t ret_value = SUCCEED; + /* Initialize the tables */ init_table(group_table); init_table(dset_table); @@ -573,7 +575,20 @@ init_objs(hid_t fid, find_objs_t *info, table_t **group_table, info->dset_table = *dset_table; /* Find all shared objects */ - return(h5trav_visit(fid, "/", TRUE, TRUE, find_objs_cb, NULL, info, H5O_INFO_BASIC)); + if((ret_value = h5trav_visit(fid, "/", TRUE, TRUE, find_objs_cb, NULL, info, H5O_INFO_BASIC)) < 0) + HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "finding shared objects failed") + +done: + /* Release resources */ + if(ret_value < 0) { + free_table(*group_table); + info->group_table = NULL; + free_table(*type_table); + info->type_table = NULL; + free_table(*dset_table); + info->dset_table = NULL; + } + return ret_value; } |