From d19d8ea77067319fbc1cbfb4238549107ef9585e Mon Sep 17 00:00:00 2001 From: Markus Triska Date: Tue, 19 May 2020 17:31:36 +0200 Subject: [PATCH] crypto_data_hkdf/4: do not crash for length > usize::max_value() For now, we fail silently in such cases. Noted by @notoria in #533. Many thanks! --- src/prolog/machine/system_calls.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/prolog/machine/system_calls.rs b/src/prolog/machine/system_calls.rs index 1fd341c0..ad3973ac 100644 --- a/src/prolog/machine/system_calls.rs +++ b/src/prolog/machine/system_calls.rs @@ -5285,11 +5285,12 @@ impl MachineState { usize::try_from(n).unwrap() } Ok(Number::Integer(n)) => { - n.to_usize().unwrap() - } - _ => { - unreachable!() + match n.to_usize() { + Some(u) => { u } + _ => { self.fail = true; return Ok(()); } + } } + _ => { unreachable!() } }; let ints_list = -- 2.54.0