diff options
author | Kim Alvefur <zash@zash.se> | 2019-05-18 17:28:21 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2019-05-18 17:28:21 +0200 |
commit | 60c9443a7b23b160cf0f9fdf96629ccf1d884adf (patch) | |
tree | cd21fcbaaf5001bbb68036624fdcc975e7f7bee9 /util/random.lua | |
parent | 4512a6266dabd2ecd24579421f3d1253961ec233 (diff) | |
download | prosody-60c9443a7b23b160cf0f9fdf96629ccf1d884adf.tar.gz prosody-60c9443a7b23b160cf0f9fdf96629ccf1d884adf.zip |
util.random: Handle unlikely read errors from /dev/urandom (see #1313)
Diffstat (limited to 'util/random.lua')
-rw-r--r-- | util/random.lua | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/util/random.lua b/util/random.lua index d8a84514..8ae06b49 100644 --- a/util/random.lua +++ b/util/random.lua @@ -12,7 +12,11 @@ if ok then return crand; end local urandom, urandom_err = io.open("/dev/urandom", "r"); local function bytes(n) - return urandom:read(n); + local data, err = urandom:read(n); + if not data then + error("Unable to retrieve data from secure random number generator (/dev/urandom): "..err); + end + return data; end if not urandom then |