From ed5a199bed65bf084f34ce18d35807d31a1c75bb Mon Sep 17 00:00:00 2001 From: Tim Ruffing Date: Sat, 1 May 2021 13:06:55 +0200 Subject: [PATCH] tests: fopen /dev/urandom in binary mode This makes a difference with mingw builds on Wine, where the subsequent fread() may abort early in the default text mode. The Microsoft C docs say: "In text mode, CTRL+Z is interpreted as an EOF character on input." --- src/testrand_impl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/testrand_impl.h b/src/testrand_impl.h index e643778f36b1e..c8d30ef6a814b 100644 --- a/src/testrand_impl.h +++ b/src/testrand_impl.h @@ -127,7 +127,7 @@ static void secp256k1_testrand_init(const char* hexseed) { pos++; } } else { - FILE *frand = fopen("/dev/urandom", "r"); + FILE *frand = fopen("/dev/urandom", "rb"); if ((frand == NULL) || fread(&seed16, 1, sizeof(seed16), frand) != sizeof(seed16)) { uint64_t t = time(NULL) * (uint64_t)1337; fprintf(stderr, "WARNING: could not read 16 bytes from /dev/urandom; falling back to insecure PRNG\n");