From f0a58de121e7c06030c7606690a1bdaf22e8ffc1 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:24:39 +0300 Subject: [PATCH] panic in linux_android --- src/getentropy.rs | 3 --- src/linux_android.rs | 6 +++++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/getentropy.rs b/src/getentropy.rs index cb82fdb1..eee47403 100644 --- a/src/getentropy.rs +++ b/src/getentropy.rs @@ -13,9 +13,6 @@ use core::{ffi::c_void, mem::MaybeUninit}; pub fn getrandom_inner(dest: &mut [MaybeUninit]) -> Result<(), Error> { for chunk in dest.chunks_mut(256) { let ret = unsafe { libc::getentropy(chunk.as_mut_ptr().cast::(), chunk.len()) }; - if ret == 42 { - todo!(); - } if ret != 0 { return Err(last_os_error()); } diff --git a/src/linux_android.rs b/src/linux_android.rs index 548401b2..b67093ce 100644 --- a/src/linux_android.rs +++ b/src/linux_android.rs @@ -7,6 +7,10 @@ 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 { - libc::getrandom(buf.as_mut_ptr().cast(), buf.len(), 0) + let ret = libc::getrandom(buf.as_mut_ptr().cast(), buf.len(), 0); + if ret == 42 { + todo!(); + } + ret }) }