upstream: Prevent integer overflow when ridiculously large

ConnectTimeout is specified, capping the effective value (for most platforms)
at 24 days. bz#3229, ok djm@

OpenBSD-Commit-ID: 62d4c4b7b87d111045f8e9f28b5b532d17ac5bc0
This commit is contained in:
dtucker@openbsd.org 2020-11-12 22:38:57 +00:00 committed by Darren Tucker
parent add926dd1b
commit 819b44e8b9

5
ssh.c
View File

@ -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> * Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@ -1523,6 +1523,9 @@ main(int ac, char **av)
cleanup_exit(255); /* resolve_host logs the error */ cleanup_exit(255); /* resolve_host logs the error */
} }
if (options.connection_timeout >= INT_MAX/1000)
timeout_ms = INT_MAX;
else
timeout_ms = options.connection_timeout * 1000; timeout_ms = options.connection_timeout * 1000;
/* Open a connection to the remote host. */ /* Open a connection to the remote host. */