diff --git a/tools/src/h5perf/sio_engine.c b/tools/src/h5perf/sio_engine.c index 700416d7198..2363f6a0d99 100644 --- a/tools/src/h5perf/sio_engine.c +++ b/tools/src/h5perf/sio_engine.c @@ -139,9 +139,7 @@ do_sio(parameters param, results *res) /* IO type */ iot = param.io_type; - if (NULL == (fname = calloc(FILENAME_MAX, sizeof(char)))) - GOTOERROR(FAIL); - + /* MUST initialize fd early since we check its file IDs in cleanup code */ switch (iot) { case POSIXIO: fd.posixfd = -1; @@ -157,6 +155,9 @@ do_sio(parameters param, results *res) GOTOERROR(FAIL); } + if (NULL == (fname = calloc(FILENAME_MAX, sizeof(char)))) + GOTOERROR(FAIL); + linear_buf_size = 1; for (i = 0; i < param.rank; i++) {