diff --git a/src/function_manager.rs b/src/function_manager.rs index eadfaf2..636e705 100644 --- a/src/function_manager.rs +++ b/src/function_manager.rs @@ -226,8 +226,10 @@ impl FunctionManager { /// Create and push new empty function entry pub fn push_empty(&mut self) { - self.functions - .push((Id::new_from_u64(random_u64()), FunctionEntry::EMPTY)); + self.functions.push(( + Id::new_from_u64(random_u64().expect("unable to generate random id")), + FunctionEntry::EMPTY, + )); } /// Detect if any functions are using integrals diff --git a/src/misc.rs b/src/misc.rs index b23e837..8a4ff1d 100644 --- a/src/misc.rs +++ b/src/misc.rs @@ -180,8 +180,8 @@ pub const fn hashed_storage_read(data: &str) -> Option<(HashBytes, &[u8])> { )) } -pub fn random_u64() -> u64 { - let mut data: [u8; 8] = [0, 0, 0, 0, 0, 0, 0, 0]; - getrandom(&mut data).expect("unable to generate random number"); - u64::from_be_bytes(data) +pub fn random_u64() -> Result { + let mut buf = [0u8; 8]; + getrandom(&mut buf)?; + Ok(u64::from_be_bytes(buf)) }