summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorkml <kml@NetBSD.org>2001-04-30 03:32:56 +0000
committerkml <kml@NetBSD.org>2001-04-30 03:32:56 +0000
commitfc1ebff2b27791f7595b666cfcb49b226fde2caa (patch)
treec68aa62ea1c1d2dd62c6eae628f65f8f31a3249d /sys
parentc6a7588b360269f9a24d230b9abb61b8ec5c0621 (diff)
Large values of sb_max would cause an overflow in sbreserve(); cast to
u_quad_t to avoid this. (from FreeBSD uipc_socket2.c v1.19)
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/uipc_socket2.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c
index b99e7cf8848..5e137c60733 100644
--- a/sys/kern/uipc_socket2.c
+++ b/sys/kern/uipc_socket2.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uipc_socket2.c,v 1.37 2001/02/27 05:19:15 lukem Exp $ */
+/* $NetBSD: uipc_socket2.c,v 1.38 2001/04/30 03:32:56 kml Exp $ */
/*
* Copyright (c) 1982, 1986, 1988, 1990, 1993
@@ -375,7 +375,8 @@ int
sbreserve(struct sockbuf *sb, u_long cc)
{
- if (cc == 0 || cc > sb_max * MCLBYTES / (MSIZE + MCLBYTES))
+ if (cc == 0 ||
+ (u_quad_t) cc > (u_quad_t) sb_max * MCLBYTES / (MSIZE + MCLBYTES))
return (0);
sb->sb_hiwat = cc;
sb->sb_mbmax = min(cc * 2, sb_max);