From 0249cead15fdee5fb3984a2bd93beb6ca52b445e Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Thu, 13 Apr 2023 11:11:53 -0500 Subject: Fix #2598 sanitize leak (#2676) --- release_docs/RELEASE.txt | 7 +++++++ tools/lib/h5trav.c | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 97f137d..62c7b8b 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -359,6 +359,13 @@ Bug Fixes since HDF5-1.12.1 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) + - Fix h5repack to only print output when verbose option is selected When timing option was added to h5repack, the check for verbose was diff --git a/tools/lib/h5trav.c b/tools/lib/h5trav.c index 3c2353f..a26dac3 100644 --- a/tools/lib/h5trav.c +++ b/tools/lib/h5trav.c @@ -149,9 +149,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) @@ -286,13 +286,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 */ -- cgit v0.12