diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2022-05-03 17:57:19 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-03 17:57:19 (GMT) |
commit | 493846dbf4793b7e9f6ce5e1d8b8cfc29705ecca (patch) | |
tree | 9053e2f8881464c63630dddee33bc9ba9dafe53c /tools/src/h5perf | |
parent | 5f00066eacdf2b2ddb3cf92635bea99eb1aee85e (diff) | |
download | hdf5-493846dbf4793b7e9f6ce5e1d8b8cfc29705ecca.zip hdf5-493846dbf4793b7e9f6ce5e1d8b8cfc29705ecca.tar.gz hdf5-493846dbf4793b7e9f6ce5e1d8b8cfc29705ecca.tar.bz2 |
[1.12 Merge]Hdf5 1 12 warnings fixes (#1715)
* Warnings fixes (#1680)
* Clean stack size warnings in sio_engine (#1687)
* Fixes stack size warnings in tcoords.c (#1688)
* Address some warnings from casting away of const (#1684)
* Fixes stack size warnings in ntypes (#1695)
* Fixes stack size warnings in dtransform (#1696)
* Fixes stack size warnings in set_extent test (#1698)
* Be a bit safer with signed arithmetic, thus quieting some signed-overflow warnings from GCC (#1706)
* Avoid a signed overflow: check the range of `entry_ptr->age` before
increasing it instead of increasing it and then checking the range.
This quiets a GCC warning.
* Avoid the potential for signed overflow by rewriting expressions
`MAX(0, fwidth - n)` as `MAX(n, fwidth) - n` for various `n`.
This change quiets some GCC warnings.
* Change some local variables that cannot take sensible negative values
from signed to unsigned. This quiets GCC warnings about potential
signed overflow.
* In a handful of instances, check the range of a signed integer before
increasing/decreasing it, just in case the increase/decrease overflows.
This quiets a handful of GCC signed-overflow warnings.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fix object size warnings in cache.c test (#1701)
* Fix some const cast and stack/static object size warnings (#1700)
* Fix various warnings
* Move HDfree_const to H5private.h for wider use
* Print output from all ranks in parallel tests on allocation failure
* Move const pointer freeing macro to h5test.h for now
* Stop lying about H5S_t const-ness (#1209)
Hyperslabs can be reworked inside several H5S callbacks, making H5S_t
non-const in some places where it is marked const. This change switches
these incorrectly const H5S_t pointer parameters and variables to
non-const where appropriate.
* Fix a few warnings after recent H5S const-related changes (#1225)
* Adjustments for HDF5 1.12
Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com>
Co-authored-by: David Young <dyoung@hdfgroup.org>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'tools/src/h5perf')
-rw-r--r-- | tools/src/h5perf/sio_engine.c | 55 |
1 files changed, 35 insertions, 20 deletions
diff --git a/tools/src/h5perf/sio_engine.c b/tools/src/h5perf/sio_engine.c index dda5bd2..008023c 100644 --- a/tools/src/h5perf/sio_engine.c +++ b/tools/src/h5perf/sio_engine.c @@ -125,7 +125,6 @@ static hid_t h5dxpl = H5I_INVALID_HID; /* Dataset transfer property * Purpose: SIO Engine where IO are executed. * Return: results * Programmer: Christian Chilan, April, 2008 - * Modifications: */ void do_sio(parameters param, results *res) @@ -136,18 +135,20 @@ do_sio(parameters param, results *res) iotype iot; /* API type */ char base_name[256]; /* test file base name */ /* return codes */ - herr_t ret_code = 0; /*return code */ + herr_t ret_code = 0; /* return code */ - char fname[FILENAME_MAX]; /* test file name */ - int i; - /* HDF5 variables */ - herr_t hrc; /*HDF5 return code */ + char *fname = NULL; + int i; - /* Sanity check parameters */ + /* HDF5 variables */ + herr_t hrc; /* HDF5 return code */ /* IO type */ iot = param.io_type; + if (NULL == (fname = HDcalloc(FILENAME_MAX, sizeof(char)))) + GOTOERROR(FAIL); + switch (iot) { case POSIXIO: fd.posixfd = -1; @@ -269,8 +270,8 @@ done: } /* release generic resources */ - if (buffer) - free(buffer); + HDfree(buffer); + HDfree(fname); res->ret_code = ret_code; } @@ -1127,7 +1128,6 @@ done: * Purpose: Sets file driver. * Return: SUCCESS or FAIL * Programmer: Christian Chilan, April, 2008 - * Modifications: */ hid_t @@ -1166,9 +1166,11 @@ set_vfd(parameters *param) H5FD_mem_t memb_map[H5FD_MEM_NTYPES]; hid_t memb_fapl[H5FD_MEM_NTYPES]; const char *memb_name[H5FD_MEM_NTYPES]; - char sv[H5FD_MEM_NTYPES][1024]; haddr_t memb_addr[H5FD_MEM_NTYPES]; H5FD_mem_t mt; + struct { + char arr[H5FD_MEM_NTYPES][1024]; + } *sv = NULL; HDmemset(memb_map, 0, sizeof memb_map); HDmemset(memb_fapl, 0, sizeof memb_fapl); @@ -1176,16 +1178,22 @@ set_vfd(parameters *param) HDmemset(memb_addr, 0, sizeof memb_addr); HDassert(HDstrlen(multi_letters) == H5FD_MEM_NTYPES); + + if (NULL == (sv = HDcalloc(1, sizeof(*sv)))) + return -1; for (mt = H5FD_MEM_DEFAULT; mt < H5FD_MEM_NTYPES; mt++) { memb_fapl[mt] = H5P_DEFAULT; - HDsprintf(sv[mt], "%%s-%c.h5", multi_letters[mt]); - memb_name[mt] = sv[mt]; + HDsprintf(sv->arr[mt], "%%s-%c.h5", multi_letters[mt]); + memb_name[mt] = sv->arr[mt]; memb_addr[mt] = (haddr_t)MAX(mt - 1, 0) * (HADDR_MAX / 10); } if (H5Pset_fapl_multi(my_fapl, memb_map, memb_fapl, memb_name, memb_addr, FALSE) < 0) { + HDfree(sv); return -1; } + + HDfree(sv); } else if (vfd == family) { hsize_t fam_size = 1 * 1024 * 1024; /*100 MB*/ @@ -1264,14 +1272,18 @@ done: * Purpose: Cleanup temporary file unless HDF5_NOCLEANUP is set. * Return: void * Programmer: Albert Cheng 2001/12/12 - * Modifications: Support for file drivers. Christian Chilan, April, 2008 */ static void do_cleanupfile(iotype iot, char *filename) { - char temp[2048]; - int j; - hid_t driver; + char * temp = NULL; + size_t temp_sz; + int j; + hid_t driver; + + temp_sz = (2048) * sizeof(char); + if (NULL == (temp = HDcalloc(1, temp_sz))) + goto done; if (clean_file_g == -1) clean_file_g = (HDgetenv("HDF5_NOCLEANUP") == NULL) ? 1 : 0; @@ -1288,7 +1300,7 @@ do_cleanupfile(iotype iot, char *filename) if (driver == H5FD_FAMILY) { for (j = 0; /*void*/; j++) { - HDsnprintf(temp, sizeof temp, filename, j); + HDsnprintf(temp, temp_sz, filename, j); if (HDaccess(temp, F_OK) < 0) break; @@ -1307,10 +1319,10 @@ do_cleanupfile(iotype iot, char *filename) } else if (driver == H5FD_MULTI) { H5FD_mem_t mt; - assert(HDstrlen(multi_letters) == H5FD_MEM_NTYPES); + HDassert(HDstrlen(multi_letters) == H5FD_MEM_NTYPES); for (mt = H5FD_MEM_DEFAULT; mt < H5FD_MEM_NTYPES; mt++) { - HDsnprintf(temp, sizeof temp, "%s-%c.h5", filename, multi_letters[mt]); + HDsnprintf(temp, temp_sz, "%s-%c.h5", filename, multi_letters[mt]); HDremove(temp); /*don't care if it fails*/ } } @@ -1327,4 +1339,7 @@ do_cleanupfile(iotype iot, char *filename) break; } } + +done: + HDfree(temp); } |