summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordtucker <dtucker@openbsd.org>2020-11-12 22:38:57 +0000
committerdtucker <dtucker@openbsd.org>2020-11-12 22:38:57 +0000
commite9967cc2a0b6f2ddbbcb516cb6b16fca61226a85 (patch)
tree1354f293568e3b6585365fd441878458a17f59bc
parentClose SA if ikev2_init_auth() fails. (diff)
downloadwireguard-openbsd-e9967cc2a0b6f2ddbbcb516cb6b16fca61226a85.tar.xz
wireguard-openbsd-e9967cc2a0b6f2ddbbcb516cb6b16fca61226a85.zip
Prevent integer overflow when ridiculously large ConnectTimeout is
specified, capping the effective value (for most platforms) at 24 days. bz#3229, ok djm@
-rw-r--r--usr.bin/ssh/ssh.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/usr.bin/ssh/ssh.c b/usr.bin/ssh/ssh.c
index 775369694b1..5bcb47444ea 100644
--- a/usr.bin/ssh/ssh.c
+++ b/usr.bin/ssh/ssh.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh.c,v 1.541 2020/11/08 11:46:12 dtucker Exp $ */
+/* $OpenBSD: ssh.c,v 1.542 2020/11/12 22:38:57 dtucker Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -1502,7 +1502,10 @@ main(int ac, char **av)
cleanup_exit(255); /* resolve_host logs the error */
}
- timeout_ms = options.connection_timeout * 1000;
+ if (options.connection_timeout >= INT_MAX/1000)
+ timeout_ms = INT_MAX;
+ else
+ timeout_ms = options.connection_timeout * 1000;
/* Open a connection to the remote host. */
if (ssh_connect(ssh, host, host_arg, addrs, &hostaddr, options.port,