[svn-r23862] Change printfs in perform output and h5dump to prevent overflow.

This fixes: https://jira.hdfgroup.uiuc.edu/browse/HDFFV-8450

Tested on Jam.
This commit is contained in:
Mohamad Chaarawi 2013-07-03 11:12:32 -05:00
parent 6da129cef0
commit dfcb3cebf1
6 changed files with 53 additions and 52 deletions

View File

@ -245,52 +245,52 @@ do_pio(parameters param)
/* Validate transfer buffer size & block size*/
if(blk_size<=0) {
HDfprintf(stderr,
"Transfer block size (%Hd) must be > 0\n", (long long)blk_size);
"Transfer block size (%zu) must be > 0\n", blk_size);
GOTOERROR(FAIL);
}
if(buf_size<=0) {
HDfprintf(stderr,
"Transfer buffer size (%Hd) must be > 0\n", (long long)buf_size);
"Transfer buffer size (%zu) must be > 0\n", buf_size);
GOTOERROR(FAIL);
}
if ((buf_size % blk_size) != 0){
HDfprintf(stderr,
"Transfer buffer size (%Hd) must be a multiple of the "
"interleaved I/O block size (%Hd)\n",
(long long)buf_size, (long long)blk_size);
"Transfer buffer size (%zu) must be a multiple of the "
"interleaved I/O block size (%zu)\n",
buf_size, blk_size);
GOTOERROR(FAIL);
}
if((snbytes%pio_mpi_nprocs_g)!=0) {
HDfprintf(stderr,
"Dataset size (%Hd) must be a multiple of the "
"number of processes (%d)\n",
(long long)snbytes, pio_mpi_nprocs_g);
"Dataset size (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the "
"number of processes (%d)\n",
(long long)snbytes, pio_mpi_nprocs_g);
GOTOERROR(FAIL);
}
if (!param.dim2d){
if(((snbytes/pio_mpi_nprocs_g)%buf_size)!=0) {
HDfprintf(stderr,
"Dataset size/process (%Hd) must be a multiple of the "
"trasfer buffer size (%Hd)\n",
(long long)(snbytes/pio_mpi_nprocs_g), (long long)buf_size);
"Dataset size/process (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the "
"trasfer buffer size (%zu)\n",
(long long)(snbytes/pio_mpi_nprocs_g), buf_size);
GOTOERROR(FAIL);
}
}
else {
if((snbytes%buf_size)!=0) {
HDfprintf(stderr,
"Dataset side size (%Hd) must be a multiple of the "
"trasfer buffer size (%Hd)\n",
(long long)snbytes, (long long)buf_size);
"Dataset side size (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the "
"trasfer buffer size (%zu)\n",
(long long)snbytes, buf_size);
GOTOERROR(FAIL);
}
}
/* Allocate transfer buffer */
if ((buffer = malloc(bsize)) == NULL){
HDfprintf(stderr, "malloc for transfer buffer size (%Hd) failed\n",
(long long)(bsize));
HDfprintf(stderr, "malloc for transfer buffer size (%zu) failed\n",
bsize);
GOTOERROR(FAIL);
}
@ -651,13 +651,13 @@ do_write(results *res, file_descr *fd, parameters *parms, long ndsets,
HDprint_rank(output);
if (!parms->dim2d) {
HDfprintf(output, "Debug(do_write): "
"buf_size=%Hd, bytes_begin=%Hd, bytes_count=%Hd\n",
(long long)buf_size, (long long)bytes_begin[0],
"buf_size=%zu, bytes_begin=%" H5_PRINTF_LL_WIDTH "d, bytes_count=%" H5_PRINTF_LL_WIDTH "d\n",
buf_size, (long long)bytes_begin[0],
(long long)bytes_count);
} else {
HDfprintf(output, "Debug(do_write): "
"linear buf_size=%Hd, bytes_begin=(%Hd,%Hd), bytes_count=%Hd\n",
(long long)buf_size*blk_size, (long long)bytes_begin[0],
"linear buf_size=%zu, bytes_begin=(%" H5_PRINTF_LL_WIDTH "d,%" H5_PRINTF_LL_WIDTH "d), bytes_count=%" H5_PRINTF_LL_WIDTH "d\n",
buf_size*blk_size, (long long)bytes_begin[0],
(long long)bytes_begin[1], (long long)bytes_count);
}
}
@ -1625,13 +1625,13 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
HDprint_rank(output);
if (!parms->dim2d) {
HDfprintf(output, "Debug(do_write): "
"buf_size=%Hd, bytes_begin=%Hd, bytes_count=%Hd\n",
(long long)buf_size, (long long)bytes_begin[0],
"buf_size=%zu, bytes_begin=%" H5_PRINTF_LL_WIDTH "d, bytes_count=%" H5_PRINTF_LL_WIDTH "d\n",
buf_size, (long long)bytes_begin[0],
(long long)bytes_count);
} else {
HDfprintf(output, "Debug(do_write): "
"linear buf_size=%Hd, bytes_begin=(%Hd,%Hd), bytes_count=%Hd\n",
(long long)buf_size*blk_size, (long long)bytes_begin[0],
"linear buf_size=%zu, bytes_begin=(%" H5_PRINTF_LL_WIDTH "d,%" H5_PRINTF_LL_WIDTH "d), bytes_count=%" H5_PRINTF_LL_WIDTH "d\n",
buf_size*blk_size, (long long)bytes_begin[0],
(long long)bytes_begin[1], (long long)bytes_count);
}
}
@ -2336,10 +2336,10 @@ do_read(results *res, file_descr *fd, parameters *parms, long ndsets,
if (++nerror < 20){
/* report at most 20 errors */
HDprint_rank(output);
HDfprintf(output, "read data error, expected (%Hd), "
"got (%Hd)\n",
(long long)pio_mpi_rank_g+1,
(long long)*(ucharptr-1));
HDfprintf(output, "read data error, expected (%d), "
"got (%d)\n",
pio_mpi_rank_g+1,
(int)*(ucharptr-1));
} /* end if */
} /* end if */
} /* end for */

View File

@ -1116,14 +1116,14 @@ recover_size_and_print(long long val, const char *end)
if (val >= ONE_KB && (val % ONE_KB) == 0) {
if (val >= ONE_MB && (val % ONE_MB) == 0) {
if (val >= ONE_GB && (val % ONE_GB) == 0)
HDfprintf(output, "%HdGB%s", val / ONE_GB, end);
HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""GB%s", val / ONE_GB, end);
else
HDfprintf(output, "%HdMB%s", val / ONE_MB, end);
HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""MB%s", val / ONE_MB, end);
} else {
HDfprintf(output, "%HdKB%s", val / ONE_KB, end);
HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""KB%s", val / ONE_KB, end);
}
} else {
HDfprintf(output, "%Hd%s", val, end);
HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""%s", val, end);
}
}
@ -1150,12 +1150,12 @@ report_parameters(struct options *opts)
HDfprintf(output, "rank %d: IO API=", rank);
print_io_api(opts->io_types);
HDfprintf(output, "rank %d: Number of files=%Hd\n", rank,
(long long)opts->num_files);
HDfprintf(output, "rank %d: Number of datasets=%Hd\n", rank,
(long long)opts->num_dsets);
HDfprintf(output, "rank %d: Number of iterations=%Hd\n", rank,
(long long)opts->num_iters);
HDfprintf(output, "rank %d: Number of files=%ld\n", rank,
opts->num_files);
HDfprintf(output, "rank %d: Number of datasets=%ld\n", rank,
opts->num_dsets);
HDfprintf(output, "rank %d: Number of iterations=%d\n", rank,
opts->num_iters);
HDfprintf(output, "rank %d: Number of processes=%d:%d\n", rank,
opts->min_num_procs, opts->max_num_procs);

View File

@ -196,15 +196,15 @@ do_sio(parameters param)
/* Validate transfer buffer size */
if (param.buf_size[i]<=0) {
HDfprintf(stderr,
"Transfer buffer size[%d] (%Hd) must be > 0\n", i,(long long)buf_size[i]);
"Transfer buffer size[%d] (%zu) must be > 0\n", i,buf_size[i]);
GOTOERROR(FAIL);
}
if ((param.dset_size[i]%param.buf_size[i])!=0) {
HDfprintf(stderr,
"Dataset size[%d] (%Hd) must be a multiple of the "
"trasfer buffer size[%d] (%Hd)\n",param.rank,
(long long)param.dset_size[i], param.rank, (long long)param.buf_size[i]);
"Dataset size[%d] (%" H5_PRINTF_LL_WIDTH "d) must be a multiple of the "
"trasfer buffer size[%d] (%zu)\n",param.rank,
(long long)param.dset_size[i], param.rank, param.buf_size[i]);
GOTOERROR(FAIL);
}
@ -212,7 +212,7 @@ do_sio(parameters param)
/* Allocate transfer buffer */
if ((buffer = malloc(linear_buf_size)) == NULL){
HDfprintf(stderr, "malloc for transfer buffer size (%Hd) failed\n", (long long)(linear_buf_size));
HDfprintf(stderr, "malloc for transfer buffer size (%zu) failed\n", linear_buf_size);
GOTOERROR(FAIL);
}

View File

@ -827,14 +827,14 @@ recover_size_and_print(long long val, const char *end)
if (val >= ONE_KB && (val % ONE_KB) == 0) {
if (val >= ONE_MB && (val % ONE_MB) == 0) {
if (val >= ONE_GB && (val % ONE_GB) == 0)
HDfprintf(output, "%HdGB%s", val / ONE_GB, end);
HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""GB%s", val / ONE_GB, end);
else
HDfprintf(output, "%HdMB%s", val / ONE_MB, end);
HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""MB%s", val / ONE_MB, end);
} else {
HDfprintf(output, "%HdKB%s", val / ONE_KB, end);
HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""KB%s", val / ONE_KB, end);
}
} else {
HDfprintf(output, "%Hd%s", val, end);
HDfprintf(output, "%" H5_PRINTF_LL_WIDTH "d""%s", val, end);
}
}
@ -860,8 +860,8 @@ report_parameters(struct options *opts)
HDfprintf(output, "IO API=");
print_io_api(opts->io_types);
HDfprintf(output, "Number of iterations=%Hd\n",
(long long)opts->num_iters);
HDfprintf(output, "Number of iterations=%d\n",
opts->num_iters);
HDfprintf(output, "Dataset size=");

View File

@ -189,7 +189,7 @@ HDfprintf(FILE *stream, const char *fmt, ...)
}
/* Extra type modifiers */
if(HDstrchr("ZHhlqLI", *s)) {
if(HDstrchr("zZHhlqLI", *s)) {
switch(*s) {
/*lint --e{506} Don't issue warnings about constant value booleans */
/*lint --e{774} Don't issue warnings boolean within 'if' always evaluates false/true */
@ -203,6 +203,7 @@ HDfprintf(FILE *stream, const char *fmt, ...)
break;
case 'Z':
case 'z':
if(sizeof(size_t) < sizeof(long))
modifier[0] = '\0';
else if(sizeof(size_t) == sizeof(long))

View File

@ -1179,9 +1179,9 @@ dump_fcpl(hid_t fid)
indentation(dump_indent + COL);
PRINTSTREAM(rawoutstream, "%s %u\n","OBJECTHEADER_VERSION", finfo.sohm.version);
indentation(dump_indent + COL);
PRINTSTREAM(rawoutstream,"%s %Hd\n","OFFSET_SIZE", (long long)off_size);
PRINTSTREAM(rawoutstream,"%s %zu\n","OFFSET_SIZE", off_size);
indentation(dump_indent + COL);
PRINTSTREAM(rawoutstream,"%s %Hd\n","LENGTH_SIZE", (long long)len_size);
PRINTSTREAM(rawoutstream,"%s %zu\n","LENGTH_SIZE", len_size);
indentation(dump_indent + COL);
PRINTSTREAM(rawoutstream, "%s %u\n","BTREE_RANK", sym_ik);
indentation(dump_indent + COL);