From 0c12337194ee6dd082f082f0ccaed27fc4ee44f5 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 5 Jun 2025 19:48:34 -0400 Subject: [PATCH] Reseed DRBG in RAND_poll() --- src/ssl.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/ssl.c b/src/ssl.c index 80e55cf86..26c6c9fe6 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -26041,11 +26041,25 @@ int wolfSSL_RAND_poll(void) return WOLFSSL_FAILURE; } ret = wc_GenerateSeed(&globalRNG.seed, entropy, entropy_sz); - if (ret != 0){ + if (ret != 0) { WOLFSSL_MSG("Bad wc_RNG_GenerateBlock"); ret = WOLFSSL_FAILURE; - }else - ret = WOLFSSL_SUCCESS; + } + else { +#ifdef HAVE_HASHDRBG + ret = wc_RNG_DRBG_Reseed(&globalRNG, entropy, entropy_sz); + if (ret != 0) { + WOLFSSL_MSG("Error reseeding DRBG"); + ret = WOLFSSL_FAILURE; + } + else { + ret = WOLFSSL_SUCCESS; + } +#else + WOLFSSL_MSG("RAND_poll called with HAVE_HASHDRBG not set"); + ret = WOLFSSL_FAILURE; +#endif + } return ret; }