diff options
author | NIIBE Yutaka <gniibe@fsij.org> | 2023-04-10 11:45:00 +0900 |
---|---|---|
committer | NIIBE Yutaka <gniibe@fsij.org> | 2023-04-10 11:45:00 +0900 |
commit | fa21ddc158b5d7b5900856e5b131071302217a51 (patch) | |
tree | ad5be9da3d9a9a1d595d6ffdf0a3fe4cb836cf28 | |
parent | 137f1fd82bc9136d434ca41f58d62091b64df6db (diff) | |
download | libgcrypt-fa21ddc158b5d7b5900856e5b131071302217a51.tar.gz |
random: Use getrandom only when it's appropriate.
* random/rndgetentropy.c (_gcry_rndgetentropy_gather_random)
[GRND_RANDOM]: Conditionalize the use of getrandom, as it's
not a portable function.
--
Fixes-commit: aab1d63e4def41593312f76de016c885ffafecde
GnuPG-bug-id: 6442
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
-rw-r--r-- | random/rndgetentropy.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/random/rndgetentropy.c b/random/rndgetentropy.c index 513da0b9..a6f3c4ab 100644 --- a/random/rndgetentropy.c +++ b/random/rndgetentropy.c @@ -81,6 +81,7 @@ _gcry_rndgetentropy_gather_random (void (*add)(const void*, size_t, do { _gcry_pre_syscall (); +#ifdef GRND_RANDOM if (fips_mode ()) { /* DRBG chaining defined in SP 800-90A (rev 1) specify @@ -98,6 +99,7 @@ _gcry_rndgetentropy_gather_random (void (*add)(const void*, size_t, ret = getrandom (buffer, nbytes, GRND_RANDOM); } else +#endif { nbytes = length < sizeof (buffer) ? length : sizeof (buffer); ret = getentropy (buffer, nbytes); |