diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ssluse.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/ssluse.c b/lib/ssluse.c index 2365d5283..ffc1fbd96 100644 --- a/lib/ssluse.c +++ b/lib/ssluse.c @@ -225,8 +225,7 @@ static int ossl_seed(struct SessionHandle *data) /* If we get here, it means we need to seed the PRNG using a "silly" approach! */ #ifdef HAVE_RAND_SCREEN - /* This one gets a random value by reading the currently shown screen */ - RAND_screen(); + /* if RAND_screen() is present, it was called during global init */ nread = 100; /* just a value */ #else { @@ -642,6 +641,13 @@ int Curl_ossl_init(void) OpenSSL_add_all_algorithms(); +#ifdef HAVE_RAND_SCREEN + /* This one gets a random value by reading the currently shown screen. + RAND_screen() is not thread-safe according to OpenSSL devs - although not + mentioned in documentation. */ + RAND_screen(); +#endif + return 1; } |