summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_timer.c
diff options
context:
space:
mode:
authorjlemon <jlemon@FreeBSD.org>1999-08-31 16:34:20 +0000
committerjlemon <jlemon@FreeBSD.org>1999-08-31 16:34:20 +0000
commit5eaf6dca22191c8e39115cfb3b8c935e8fbae3ca (patch)
tree944fa398e3e3e635fa9d6d414f9d10c501f0bfb3 /sys/netinet/tcp_timer.c
parent91e3e592b65461f037815fc8e6c41399d2c2592e (diff)
downloadFreeBSD-src-5eaf6dca22191c8e39115cfb3b8c935e8fbae3ca.zip
FreeBSD-src-5eaf6dca22191c8e39115cfb3b8c935e8fbae3ca.tar.gz
Simplify, and return an error if the user attempts to set a TCP
time value which results in < 1 tick. Suggested by: bde
Diffstat (limited to 'sys/netinet/tcp_timer.c')
-rw-r--r--sys/netinet/tcp_timer.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c
index 74752b8..591fb18 100644
--- a/sys/netinet/tcp_timer.c
+++ b/sys/netinet/tcp_timer.c
@@ -71,17 +71,13 @@ sysctl_msec_to_ticks SYSCTL_HANDLER_ARGS
tt = *(int *)oidp->oid_arg1;
s = tt * 1000 / hz;
- error = SYSCTL_OUT(req, &s, sizeof(int));
+ error = sysctl_handle_int(oidp, &s, 0, req);
if (error || !req->newptr)
return (error);
- error = SYSCTL_IN(req, &s, sizeof(int));
- if (error)
- return (error);
-
tt = s * hz / 1000;
- if (tt == 0 && s > 0)
- tt++;
+ if (tt < 1)
+ return (EINVAL);
*(int *)oidp->oid_arg1 = tt;
return (0);
OpenPOWER on IntegriCloud