From 02824b92ad18391cbae6b9630e1565e00db2eb60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Wed, 16 Oct 2024 19:25:53 +0300 Subject: [PATCH] panic in netbsd --- src/linux_android.rs | 6 +----- src/netbsd.rs | 6 +++++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/linux_android.rs b/src/linux_android.rs index b67093ce..548401b2 100644 --- a/src/linux_android.rs +++ b/src/linux_android.rs @@ -7,10 +7,6 @@ compile_error!("`linux_getrandom` backend can be enabled only for Linux/Android pub fn getrandom_inner(dest: &mut [MaybeUninit]) -> Result<(), Error> { util_libc::sys_fill_exact(dest, |buf| unsafe { - let ret = libc::getrandom(buf.as_mut_ptr().cast(), buf.len(), 0); - if ret == 42 { - todo!(); - } - ret + libc::getrandom(buf.as_mut_ptr().cast(), buf.len(), 0) }) } diff --git a/src/netbsd.rs b/src/netbsd.rs index 10cb2e54..39008ed9 100644 --- a/src/netbsd.rs +++ b/src/netbsd.rs @@ -70,6 +70,10 @@ pub fn getrandom_inner(dest: &mut [MaybeUninit]) -> Result<(), Error> { } let fptr = unsafe { mem::transmute::<*mut c_void, GetRandomFn>(fptr) }; sys_fill_exact(dest, |buf| unsafe { - fptr(buf.as_mut_ptr().cast::(), buf.len(), 0) + let ret = fptr(buf.as_mut_ptr().cast::(), buf.len(), 0); + if ret == 42 { + todo!(); + } + ret }) }