From 8553af84db8b25918da8f5138dcc34601e3df47e Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 7 Jun 2019 16:39:22 -0700 Subject: [PATCH] Fix minor ssize_t / ptrdiff_t confusion * src/fileio.c (Fcopy_file): This limit is because of ssize_t, so use TYPE_MAXIMUM (ssize_t) not PTRDIFF_MAX. --- src/fileio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/fileio.c b/src/fileio.c index f7376ce74fe..b141f568d70 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -2125,7 +2125,8 @@ permissions. */) /* Copy at most COPY_MAX bytes at a time; this is min (PTRDIFF_MAX, SIZE_MAX) truncated to a value that is surely aligned well. */ - ptrdiff_t copy_max = min (PTRDIFF_MAX, SIZE_MAX) >> 30 << 30; + ssize_t ssize_max = TYPE_MAXIMUM (ssize_t); + ptrdiff_t copy_max = min (ssize_max, SIZE_MAX) >> 30 << 30; off_t intail = insize - newsize; ptrdiff_t len = min (intail, copy_max); copied = copy_file_range (ifd, NULL, ofd, NULL, len, 0); -- 2.39.2