aboutsummaryrefslogtreecommitdiff
path: root/src/wasi.rs
diff options
context:
space:
mode:
authorDavid LeGare <legare@google.com>2022-03-02 16:21:18 +0000
committerDavid LeGare <legare@google.com>2022-03-02 16:21:18 +0000
commit010ab1ddb9ac40ed6f8982795a8bbd83b8128446 (patch)
tree7f215f77477d12c6dfd9ac8c21badfa0038ba77c /src/wasi.rs
parent4c2401a3f96600a8db497e568abc3b22a8e85732 (diff)
downloadgetrandom-010ab1ddb9ac40ed6f8982795a8bbd83b8128446.tar.gz
Update getrandom to 0.2.5
Test: cd external/rust/crates && atest --host -c Change-Id: I1e16cc05e960f5b53d01f5d034f14ae10929f885
Diffstat (limited to 'src/wasi.rs')
-rw-r--r--src/wasi.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/wasi.rs b/src/wasi.rs
index 4674f43..2d413e0 100644
--- a/src/wasi.rs
+++ b/src/wasi.rs
@@ -12,8 +12,12 @@ use core::num::NonZeroU32;
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()
- })
+ unsafe {
+ random_get(dest.as_mut_ptr(), dest.len()).map_err(|e: wasi::Error| {
+ // convert wasi's Error into getrandom's NonZeroU32 error
+ // SAFETY: `wasi::Error` is `NonZeroU16` internally, so `e.raw_error()`
+ // will never return 0
+ NonZeroU32::new_unchecked(e.raw_error() as u32).into()
+ })
+ }
}