From 24335bdbd33e5d7af056cd0f6bb7af1655e3dc7a Mon Sep 17 00:00:00 2001 From: Douglas Bagnall Date: Mon, 5 Aug 2019 00:10:53 +1200 Subject: [PATCH] util/genrand: don't ignore errors in random number generation In this case it is probably better to crash out. Signed-off-by: Douglas Bagnall --- lib/util/genrand.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/util/genrand.c b/lib/util/genrand.c index 18ffa0d95e6..9ef787368a4 100644 --- a/lib/util/genrand.c +++ b/lib/util/genrand.c @@ -34,7 +34,10 @@ _PUBLIC_ void generate_random_buffer(uint8_t *out, int len) { /* Random number generator for temporary keys. */ - gnutls_rnd(GNUTLS_RND_RANDOM, out, len); + int ret = gnutls_rnd(GNUTLS_RND_RANDOM, out, len); + if (ret != 0) { + smb_panic("could not fill random buffer"); + } } _PUBLIC_ void generate_secret_buffer(uint8_t *out, int len) @@ -48,7 +51,10 @@ _PUBLIC_ void generate_secret_buffer(uint8_t *out, int len) * the limit for a re-seed. For its re-seed it mixes mixes data obtained * from the OS random device with the previous key. */ - gnutls_rnd(GNUTLS_RND_KEY, out, len); + int ret = gnutls_rnd(GNUTLS_RND_KEY, out, len); + if (ret != 0) { + smb_panic("could not fill random buffer"); + } } _PUBLIC_ void generate_nonce_buffer(uint8_t *out, int len) -- 2.25.1