Use unsafe blocks in sys/random.h implementation

This commit is contained in:
sourceturner
2026-01-18 21:15:32 +01:00
parent 3bace40832
commit 6aed86d282
+4 -1
View File
@@ -2,6 +2,9 @@
//!
//! Non-POSIX, see <https://www.man7.org/linux/man-pages/man2/getrandom.2.html>.
// TODO: set this for entire crate when possible
#![deny(unsafe_op_in_unsafe_fn)]
use core::slice;
use crate::{
@@ -21,7 +24,7 @@ pub const GRND_RANDOM: c_uint = 2;
#[unsafe(no_mangle)]
pub unsafe extern "C" fn getrandom(buf: *mut c_void, buflen: size_t, flags: c_uint) -> ssize_t {
Sys::getrandom(
slice::from_raw_parts_mut(buf as *mut u8, buflen as usize),
unsafe { slice::from_raw_parts_mut(buf as *mut u8, buflen as usize) },
flags,
)
.map(|read| read as ssize_t)