diff options
author | jlemon <jlemon@FreeBSD.org> | 1999-08-31 16:34:20 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 1999-08-31 16:34:20 +0000 |
commit | 5eaf6dca22191c8e39115cfb3b8c935e8fbae3ca (patch) | |
tree | 944fa398e3e3e635fa9d6d414f9d10c501f0bfb3 /sys/netinet/tcp_timer.c | |
parent | 91e3e592b65461f037815fc8e6c41399d2c2592e (diff) | |
download | FreeBSD-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.c | 10 |
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); |