diff options
author | NIIBE Yutaka <gniibe@fsij.org> | 2023-04-10 11:45:00 +0900 |
---|---|---|
committer | NIIBE Yutaka <gniibe@fsij.org> | 2023-04-11 15:01:43 +0900 |
commit | d41177937cea4aa1e9042ebcd195a349c40e8071 (patch) | |
tree | 33cfa7fee2369b9fbaa2f2e6ef2242695d2c05cb | |
parent | 08f133c527eb50a84d30d8a2a3f1d1ec75c0ec9e (diff) | |
download | libgcrypt-d41177937cea4aa1e9042ebcd195a349c40e8071.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.
--
Cherry-picked master commit of:
fa21ddc158b5d7b5900856e5b131071302217a51
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); |