From: Pali Rohár Date: Sat, 20 Jan 2024 11:30:08 +0000 (+0100) Subject: libpci: physmem-posix: Fix OFF_MAX definition X-Git-Tag: v3.11.0~16 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=155f087b19681f043cd65283559a7a8dea08c85a;p=pciutils.git libpci: physmem-posix: Fix OFF_MAX definition Expression ((1 << n) - 1) for n=31 has undefined behavior and gcc 11 already evaluates it to zero. Fix definition of OFF_MAX to prevent signed integer overflow. --- diff --git a/lib/physmem-posix.c b/lib/physmem-posix.c index 664ec48..7cd7e99 100644 --- a/lib/physmem-posix.c +++ b/lib/physmem-posix.c @@ -26,7 +26,7 @@ #include #ifndef OFF_MAX -#define OFF_MAX (off_t)((1ULL << (sizeof(off_t) * CHAR_BIT - 1)) - 1) +#define OFF_MAX ((((off_t)1 << (sizeof(off_t) * CHAR_BIT - 2)) - 1) * 2 + 1) #endif struct physmem {