From 05e39401915a79e6099f50b480d770dc46262779 Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Thu, 25 May 2000 16:44:25 +0000 Subject: [PATCH] made operand to left shift in ISC_OFFSET_MAXIMUM unsigned to avoid integer overflow. --- lib/isc/unix/include/isc/offset.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/isc/unix/include/isc/offset.h b/lib/isc/unix/include/isc/offset.h index 19d1f18164..7e3d3395e2 100644 --- a/lib/isc/unix/include/isc/offset.h +++ b/lib/isc/unix/include/isc/offset.h @@ -15,7 +15,7 @@ * SOFTWARE. */ -/* $Id: offset.h,v 1.4 2000/05/25 03:34:34 tale Exp $ */ +/* $Id: offset.h,v 1.5 2000/05/25 16:44:25 tale Exp $ */ #ifndef ISC_OFFSET_H #define ISC_OFFSET_H 1 @@ -31,7 +31,9 @@ typedef off_t isc_offset_t; /* * POSIX says "Additionally, blkcnt_t and off_t are extended signed integral * types", so the maximum value is all 1s except for the high bit. + * 1 is sized as an unsigned long long to keep the Solaris 5.6 compiler + * from complaining about integer overflow from the left shift. */ -#define ISC_OFFSET_MAXIMUM (~((off_t)1 << (sizeof(off_t) * CHAR_BIT - 1))) +#define ISC_OFFSET_MAXIMUM ((off_t)~(1ULL << (sizeof(off_t) * CHAR_BIT - 1))) #endif /* ISC_OFFSET_H */