Skip to content

Commit 81560b0

Browse files
committed
Merge #10855: random: only use getentropy on openbsd
077d01f random: only use getentropy on openbsd (Cory Fields) Pull request description: Follow-up from #10335. I can confirm that this fixes my issue when building against a new glibc + old linux headers for back-compat. Tree-SHA512: a0fcf26995fbd3636f970e729a172c6e1d7c0de371e703f0653cd9776600f438ec43acd2b1eb92f2678a011968da8fbbeef8a54599434851f4c6ffe78291c172
2 parents 75b5643 + 077d01f commit 81560b0

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/random.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,10 +227,12 @@ void GetOSRand(unsigned char *ent32)
227227
RandFailure();
228228
}
229229
}
230-
#elif defined(HAVE_GETENTROPY)
230+
#elif defined(HAVE_GETENTROPY) && defined(__OpenBSD__)
231231
/* On OpenBSD this can return up to 256 bytes of entropy, will return an
232232
* error if more are requested.
233233
* The call cannot return less than the requested number of bytes.
234+
getentropy is explicitly limited to openbsd here, as a similar (but not
235+
the same) function may exist on other platforms via glibc.
234236
*/
235237
if (getentropy(ent32, NUM_OS_RANDOM_BYTES) != 0) {
236238
RandFailure();

0 commit comments

Comments
 (0)