diff options
author | Nobuyoshi Nakada <[email protected]> | 2025-06-21 16:52:16 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2025-06-21 16:52:16 +0900 |
commit | 1181a682a6c314c92686e3701defa1eb44068c4e () | |
tree | 88f877418e35607189be116731a75b647602352c | |
parent | dbc596938a41a9ae52b27c81751960d19ff2de23 (diff) |
[Bug #21448] Use `getentropy(2)` only on macOS
If this is not a system call, then it is using getrandom (which would have been tried already), and cannot be used as a replacement for the random devices.
-rw-r--r-- | random.c | 27 |
1 files changed, 17 insertions, 10 deletions
@@ -438,7 +438,23 @@ random_init(int argc, VALUE *argv, VALUE obj) # define USE_DEV_URANDOM 0 #endif -#ifdef HAVE_GETENTROPY # define MAX_SEED_LEN_PER_READ 256 static int fill_random_bytes_urandom(void *seed, size_t size) @@ -494,15 +510,6 @@ fill_random_bytes_urandom(void *seed, size_t size) # define fill_random_bytes_urandom(seed, size) -1 #endif -#if ! defined HAVE_GETRANDOM && defined __linux__ && defined __NR_getrandom -# ifndef GRND_NONBLOCK -# define GRND_NONBLOCK 0x0001 /* not defined in musl libc */ -# endif -# define getrandom(ptr, size, flags) \ - (ssize_t)syscall(__NR_getrandom, (ptr), (size), (flags)) -# define HAVE_GETRANDOM 1 -#endif - #if 0 #elif defined MAC_OS_X_VERSION_10_7 && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 |