diff options
Diffstat (limited to 'src/Common/Random.c')
-rw-r--r-- | src/Common/Random.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Common/Random.c b/src/Common/Random.c index 0aab0cff..10995f74 100644 --- a/src/Common/Random.c +++ b/src/Common/Random.c @@ -877,16 +877,18 @@ BOOL SlowPoll (void) jent_entropy_collector_free (ec); } } +#ifndef _M_ARM64 // use RDSEED or RDRAND from CPU as source of entropy if present if ( IsCpuRngEnabled() && ( (HasRDSEED() && RDSEED_getBytes (buffer, sizeof (buffer))) || (HasRDRAND() && RDRAND_getBytes (buffer, sizeof (buffer))) )) { RandaddBuf (buffer, sizeof (buffer)); } +#endif burn(buffer, sizeof (buffer)); /* Mix the pool */ @@ -1010,16 +1012,18 @@ BOOL FastPoll (void) CryptoAPILastError = pRtlNtStatusToDosError (bStatus); return FALSE; } +#ifndef _M_ARM64 // use RDSEED or RDRAND from CPU as source of entropy if enabled if ( IsCpuRngEnabled() && ( (HasRDSEED() && RDSEED_getBytes (buffer, sizeof (buffer))) || (HasRDRAND() && RDRAND_getBytes (buffer, sizeof (buffer))) )) { RandaddBuf (buffer, sizeof (buffer)); } +#endif burn (buffer, sizeof(buffer)); /* Apply the pool mixing function */ |