From 43532c6269b833621899b9be2dab09fb20bc0c3d 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: Sun, 21 May 2023 00:40:12 +0300 Subject: [PATCH] emscripten: use getentropy from libc --- .github/workflows/tests.yml | 2 +- src/emscripten.rs | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 800a43610..2f74f43eb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -78,7 +78,7 @@ jobs: with: targets: ${{ matrix.target }} - name: Install multilib - run: sudo apt-get install gcc-multilib + run: sudo apt-get update && sudo apt-get install gcc-multilib - uses: Swatinem/rust-cache@v2 - run: cargo test --target=${{ matrix.target }} --features=std diff --git a/src/emscripten.rs b/src/emscripten.rs index a50372f56..30221c6e1 100644 --- a/src/emscripten.rs +++ b/src/emscripten.rs @@ -2,15 +2,10 @@ use crate::{util_libc::last_os_error, Error}; use core::mem::MaybeUninit; -// Not yet defined in libc crate. -extern "C" { - fn getentropy(buffer: *mut libc::c_void, length: usize) -> libc::c_int; -} - pub fn getrandom_inner(dest: &mut [MaybeUninit]) -> Result<(), Error> { // Emscripten 2.0.5 added getentropy, so we can use it unconditionally. // Unlike other getentropy implementations, there is no max buffer length. - let ret = unsafe { getentropy(dest.as_mut_ptr() as *mut libc::c_void, dest.len()) }; + let ret = unsafe { libc::getentropy(dest.as_mut_ptr() as *mut libc::c_void, dest.len()) }; if ret < 0 { return Err(last_os_error()); }