diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2021-09-14 20:24:01 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-14 20:24:01 (GMT) |
commit | cd2ca91875be7d3ee98ab0131c32b9ee072509e5 (patch) | |
tree | bc73d8cd6acbe9f2f76dcbcc21374dc0b38e9908 /tools/src/h5dump | |
parent | 7c973deaf1e602cf165a39860e574a9b5468d164 (diff) | |
download | hdf5-cd2ca91875be7d3ee98ab0131c32b9ee072509e5.zip hdf5-cd2ca91875be7d3ee98ab0131c32b9ee072509e5.tar.gz hdf5-cd2ca91875be7d3ee98ab0131c32b9ee072509e5.tar.bz2 |
Fix several warnings (#720)
Diffstat (limited to 'tools/src/h5dump')
-rw-r--r-- | tools/src/h5dump/h5dump_ddl.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/tools/src/h5dump/h5dump_ddl.c b/tools/src/h5dump/h5dump_ddl.c index 2a69ca6..638a738 100644 --- a/tools/src/h5dump/h5dump_ddl.c +++ b/tools/src/h5dump/h5dump_ddl.c @@ -1343,13 +1343,21 @@ attr_search(hid_t oid, const char *attr_name, const H5A_info_t H5_ATTR_UNUSED *a ret = FAIL; } else { + size_t buffer_space = w - 1; + HDmemset(obj_name, '\0', w); if (op_name[0] != '/') { - HDstrncat(obj_name, buf, u + 1); - if (buf[u - 1] != '/') - HDstrncat(obj_name, "/", (size_t)2); + HDstrncat(obj_name, buf, buffer_space); + buffer_space -= MIN(buffer_space, u); + + if (buf[u - 1] != '/') { + HDstrncat(obj_name, "/", buffer_space); + buffer_space -= MIN(buffer_space, 2); + } } - HDstrncat(obj_name, op_name, v + 1); + + HDstrncat(obj_name, op_name, buffer_space); + buffer_space -= MIN(buffer_space, v); handle_attributes(oid, obj_name, NULL, 0, NULL); HDfree(obj_name); @@ -1421,10 +1429,10 @@ lnk_search(const char *path, const H5L_info2_t *li, void *_op_data) else { if (k == 2) { HDstrcpy(search_name, "/"); - HDstrncat(search_name, op_name, search_len + 1); + HDstrcat(search_name, op_name); } else - HDstrncpy(search_name, op_name, search_len + 1); + HDstrcpy(search_name, op_name); search_name[search_len + k - 1] = '\0'; if (HDstrcmp(path, search_name) == 0) { |