diff options
Diffstat (limited to 'sys/dev/sio/sio.c')
-rw-r--r-- | sys/dev/sio/sio.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index 4d294df..96968d9 100644 --- a/sys/dev/sio/sio.c +++ b/sys/dev/sio/sio.c @@ -1542,8 +1542,12 @@ siodivisor(rclk, speed) u_int divisor; int error; - if (speed == 0 || speed > (ULONG_MAX - 1) / 8) + if (speed == 0) return (0); +#if UINT_MAX > (ULONG_MAX - 1) / 8 + if (speed > (ULONG_MAX - 1) / 8) + return (0); +#endif divisor = (rclk / (8UL * speed) + 1) / 2; if (divisor == 0 || divisor >= 65536) return (0); |