explicit long long type in timing calculations (doesn't matter, since
authordjm <djm@openbsd.org>
Mon, 28 Aug 2023 04:06:52 +0000 (04:06 +0000)
committerdjm <djm@openbsd.org>
Mon, 28 Aug 2023 04:06:52 +0000 (04:06 +0000)
the range is pre-clamped)

usr.bin/ssh/clientloop.c

index 6722817..035643f 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: clientloop.c,v 1.393 2023/08/28 03:31:16 djm Exp $ */
+/* $OpenBSD: clientloop.c,v 1.394 2023/08/28 04:06:52 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -609,9 +609,9 @@ obfuscate_keystroke_timing(struct ssh *ssh, struct timespec *timeout)
                return 0;
 
        /* Calculate number of intervals missed since the last check */
-       n = (now.tv_sec - next_interval.tv_sec) * 1000 * 1000 * 1000;
+       n = (now.tv_sec - next_interval.tv_sec) * 1000LL * 1000 * 1000;
        n += now.tv_nsec - next_interval.tv_nsec;
-       n /= options.obscure_keystroke_timing_interval * 1000 * 1000;
+       n /= options.obscure_keystroke_timing_interval * 1000LL * 1000;
        n = (n < 0) ? 1 : n + 1;
 
        /* Advance to the next interval */