mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-07-31 13:00:00 +02:00
truncate: Fix integer portability issues
* src/truncate.c: Explicitly convert from off_t to intmax_t when printing numbers as they may be different types. Also don't mix size_t and off_t types in operations as the latter will be promoted to unsigned when these types are the same size.
This commit is contained in:
committed by
Jim Meyering
parent
8ce745dc61
commit
e2dbcee444
+4
-3
@@ -155,12 +155,13 @@ do_ftruncate (int fd, char const *fname, off_t ssize, rel_mode_t rel_mode)
|
||||
}
|
||||
if (block_mode)
|
||||
{
|
||||
size_t const blksize = ST_BLKSIZE (sb);
|
||||
off_t const blksize = ST_BLKSIZE (sb);
|
||||
if (ssize < OFF_T_MIN / blksize || ssize > OFF_T_MAX / blksize)
|
||||
{
|
||||
error (0, 0,
|
||||
_("overflow in %" PRIdMAX
|
||||
" * %zu byte blocks for file %s"), ssize, blksize,
|
||||
" * %" PRIdMAX " byte blocks for file %s"),
|
||||
(intmax_t) ssize, (intmax_t) blksize,
|
||||
quote (fname));
|
||||
return 1;
|
||||
}
|
||||
@@ -241,7 +242,7 @@ do_ftruncate (int fd, char const *fname, off_t ssize, rel_mode_t rel_mode)
|
||||
{
|
||||
error (0, ftruncate_errno,
|
||||
_("truncating %s at %" PRIdMAX " bytes"), quote (fname),
|
||||
nsize);
|
||||
(intmax_t) nsize);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user