Skip to content

Commit 54aefc6

Browse files
committed
use SecRandomCopyBytes on macOS in Miri
1 parent 31a75a1 commit 54aefc6

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/libstd/sys/unix/rand.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pub fn hashmap_random_keys() -> (u64, u64) {
1313

1414
#[cfg(all(unix,
1515
not(target_os = "ios"),
16+
not(all(target_os = "macos", miri)),
1617
not(target_os = "openbsd"),
1718
not(target_os = "freebsd"),
1819
not(target_os = "fuchsia")))]
@@ -106,7 +107,9 @@ mod imp {
106107
// once per thread in `hashmap_random_keys`. Therefore `SecRandomCopyBytes` is
107108
// only used on iOS where direct access to `/dev/urandom` is blocked by the
108109
// sandbox.
109-
#[cfg(target_os = "ios")]
110+
// HACK: However, we do use this when running in Miri on macOS; intercepting this is much
111+
// easier than intercepting accesses to /dev/urandom.
112+
#[cfg(any(target_os = "ios", all(target_os = "macos", miri)))]
110113
mod imp {
111114
use crate::io;
112115
use crate::ptr;

0 commit comments

Comments
 (0)