diff options
author | Allen Byrne <50328838+byrnHDF@users.noreply.github.com> | 2023-04-07 17:35:51 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-07 17:35:51 (GMT) |
commit | fc91e8856f9babe0d2533a952209473be11b4ccd (patch) | |
tree | 9b0642e3b5c37a4f1a6d552d85cf5b976da87520 | |
parent | 526f0769a3353b20d1265c09b3035fa4c2610933 (diff) | |
download | hdf5-fc91e8856f9babe0d2533a952209473be11b4ccd.zip hdf5-fc91e8856f9babe0d2533a952209473be11b4ccd.tar.gz hdf5-fc91e8856f9babe0d2533a952209473be11b4ccd.tar.bz2 |
Fix #2598 sanitize leak (#2660)
-rw-r--r-- | release_docs/RELEASE.txt | 7 | ||||
-rw-r--r-- | tools/lib/h5trav.c | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index e02a58d..be040f4 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -237,7 +237,12 @@ Bug Fixes since HDF5-1.13.3 release Tools ----- - - + - In the tools traverse function - an error in either visit call + will bypass the cleanup of the local data variables. + + Replaced the H5TOOLS_GOTO_ERROR with just H5TOOLS_ERROR. + + (ADB - 2023/04/06 GH-2598) Performance diff --git a/tools/lib/h5trav.c b/tools/lib/h5trav.c index 599cb22..564dcba 100644 --- a/tools/lib/h5trav.c +++ b/tools/lib/h5trav.c @@ -144,9 +144,9 @@ trav_token_visited(hid_t loc_id, trav_addr_t *visited, H5O_token_t *token) size_t u; /* Local index variable */ int token_cmp; - /* Look for address */ + /* Look for path associated with token */ for (u = 0; u < visited->nused; u++) { - /* Check for address already in array */ + /* Check for token already in array */ if (H5Otoken_cmp(loc_id, &visited->objs[u].token, token, &token_cmp) < 0) return NULL; if (!token_cmp) @@ -281,13 +281,13 @@ traverse(hid_t file_id, const char *grp_name, hbool_t visit_start, hbool_t recur /* Visit all links in group, recursively */ if (H5Lvisit_by_name2(file_id, grp_name, trav_index_by, trav_index_order, traverse_cb, &udata, H5P_DEFAULT) < 0) - H5TOOLS_GOTO_ERROR((-1), "H5Lvisit_by_name failed"); + H5TOOLS_ERROR((-1), "H5Lvisit_by_name failed"); } /* end if */ else { /* Iterate over links in group */ if (H5Literate_by_name2(file_id, grp_name, trav_index_by, trav_index_order, NULL, traverse_cb, &udata, H5P_DEFAULT) < 0) - H5TOOLS_GOTO_ERROR((-1), "H5Literate_by_name failed"); + H5TOOLS_ERROR((-1), "H5Literate_by_name failed"); } /* end else */ /* Free visited addresses table */ |