Skip to content

Commit 0d0404b

Browse files
authored
Use NonZeroU32::new_unchecked to convert wasi error (#233)
1 parent e4004f4 commit 0d0404b

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/wasi.rs

+8-4
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ use core::num::NonZeroU32;
1212
use wasi::random_get;
1313

1414
pub fn getrandom_inner(dest: &mut [u8]) -> Result<(), Error> {
15-
unsafe { random_get(dest.as_mut_ptr(), dest.len()) }.map_err(|e: wasi::Error| {
16-
// convert wasi's Error into getrandom's NonZeroU32 error
17-
NonZeroU32::new(e.raw_error() as u32).unwrap().into()
18-
})
15+
unsafe {
16+
random_get(dest.as_mut_ptr(), dest.len()).map_err(|e: wasi::Error| {
17+
// convert wasi's Error into getrandom's NonZeroU32 error
18+
// SAFETY: `wasi::Error` is `NonZeroU16` internally, so `e.raw_error()`
19+
// will never return 0
20+
NonZeroU32::new_unchecked(e.raw_error() as u32).into()
21+
})
22+
}
1923
}

0 commit comments

Comments
 (0)