From fac7ba70c87a3c69daec45bd18d078920ff0b510 Mon Sep 17 00:00:00 2001 From: Markus Triska Date: Mon, 18 May 2020 13:11:39 +0200 Subject: [PATCH] crypto_password_hash/3: fail if the number of iterations is too high Discussed in #527. --- src/prolog/machine/system_calls.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/prolog/machine/system_calls.rs b/src/prolog/machine/system_calls.rs index 4061bdbc..17d456ed 100644 --- a/src/prolog/machine/system_calls.rs +++ b/src/prolog/machine/system_calls.rs @@ -5285,7 +5285,10 @@ impl MachineState { u64::try_from(n).unwrap() } Ok(Number::Integer(n)) => { - n.to_u64().unwrap() + match n.to_u64() { + Some(i) => { i } + None => { self.fail = true; return Ok(()); } + } } _ => { unreachable!() -- 2.54.0