diff --git a/random.c b/random.c index 4add8868fb..9579cfce21 100644 --- a/random.c +++ b/random.c @@ -494,8 +494,14 @@ fill_random_bytes_syscall(void *seed, size_t size, int unused) static int fill_random_bytes_syscall(void *buf, size_t size, int unused) { +#if (defined(__OpenBSD__) && OpenBSD >= 201411) || \ + (defined(__NetBSD__) && __NetBSD_Version__ >= 700000000) || \ + (defined(__FreeBSD__) && __FreeBSD_version >= 1200079) arc4random_buf(buf, size); return 0; +#else + return -1; +#endif } #elif defined(_WIN32) static void