From 23da49fba0397a2c8f2701efb22634f0a3f68bd8 Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Sat, 18 May 2019 17:28:21 +0200
Subject: util.random: Handle unlikely read errors from /dev/urandom (see
 #1313)

---
 util/random.lua | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

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
-- 
cgit v1.2.3