about summary refs log tree commit diff
path: root/library/std/src/sys/random/getrandom.rs
blob: 0be2eae20a727a7780b56f637288ec43f19be294 (plain)
1
2
3
4
5
6
7
pub fn fill_bytes(mut bytes: &mut [u8]) {
    while !bytes.is_empty() {
        let r = unsafe { libc::getrandom(bytes.as_mut_ptr().cast(), bytes.len(), 0) };
        assert_ne!(r, -1, "failed to generate random data");
        bytes = &mut bytes[r as usize..];
    }
}