From: Andrew Soutar Date: Mon, 31 Jul 2017 06:19:16 +0000 (-0400) Subject: cryptsetup: fix infinite timeout (#6486) X-Git-Tag: v235~287 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0864d311766498563331f486909a0d950ba7de87;p=thirdparty%2Fsystemd.git cryptsetup: fix infinite timeout (#6486) 0004f698d causes `arg_timeout` to be infinity instead of 0 when timeout=0. The logic here now matches this change. Fixes #6381 --- diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index 3b4c086162d..08ed7e53ba3 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -56,7 +56,7 @@ static bool arg_tcrypt_veracrypt = false; static char **arg_tcrypt_keyfiles = NULL; static uint64_t arg_offset = 0; static uint64_t arg_skip = 0; -static usec_t arg_timeout = 0; +static usec_t arg_timeout = USEC_INFINITY; /* Options Debian's crypttab knows we don't: @@ -670,10 +670,10 @@ int main(int argc, char *argv[]) { if (arg_discards) flags |= CRYPT_ACTIVATE_ALLOW_DISCARDS; - if (arg_timeout > 0) - until = now(CLOCK_MONOTONIC) + arg_timeout; - else + if (arg_timeout == USEC_INFINITY) until = 0; + else + until = now(CLOCK_MONOTONIC) + arg_timeout; arg_key_size = (arg_key_size > 0 ? arg_key_size : (256 / 8));