Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/wasi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ use wasi::random_get;
pub fn getrandom_inner(dest: &mut [u8]) -> Result<(), Error> {
unsafe { random_get(dest.as_mut_ptr(), dest.len()) }.map_err(|e: wasi::Error| {
// convert wasi's Error into getrandom's NonZeroU32 error
NonZeroU32::new(e.raw_error() as u32).unwrap().into()
// SAFETY: `wasi::Error` is `NonZeroU16` internally, so `e.raw_error()`
// will never return 0
unsafe { NonZeroU32::new_unchecked(e.raw_error() as u32) }.into()
})
}