From: Samanta Navarro Date: Fri, 13 Jan 2023 11:52:36 +0000 (+0000) Subject: lib/blkdev: use off_t for max values X-Git-Tag: v2.39-rc1~160^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ce621f16687ce0706fc01a543d6db1c95ba0d66e;p=thirdparty%2Futil-linux.git lib/blkdev: use off_t for max values The off_t datatype is signed. Use it for high and low boundaries as well to support also very large block devices close to its limits. Signed-off-by: Samanta Navarro --- diff --git a/lib/blkdev.c b/lib/blkdev.c index 757f3e818b..b10da99a24 100644 --- a/lib/blkdev.c +++ b/lib/blkdev.c @@ -58,25 +58,25 @@ int is_blkdev(int fd) off_t blkdev_find_size (int fd) { - uintmax_t high, low = 0; + off_t high, low = 0; for (high = 1024; blkdev_valid_offset (fd, high); ) { - if (high == UINTMAX_MAX) { + if (high == SINT_MAX(off_t)) { errno = EFBIG; return -1; } low = high; - if (high >= UINTMAX_MAX/2) - high = UINTMAX_MAX; + if (high >= SINT_MAX(off_t)/2) + high = SINT_MAX(off_t); else high *= 2; } while (low < high - 1) { - uintmax_t mid = (low + high) / 2; + off_t mid = (low + high) / 2; if (blkdev_valid_offset (fd, mid)) low = mid;