# HG changeset patch
# User Kim Alvefur <zash@zash.se>
# Date 1558193301 -7200
# Node ID 5d2f7144fa1227318c13a521d92bb8f9ba7cd391
# Parent  62d8689beafbebe1bf188df4edb710fae4716ff3
util.random: Handle unlikely read errors from /dev/urandom (see #1313)

diff -r 62d8689beafb -r 5d2f7144fa12 util/random.lua
--- a/util/random.lua	Sat May 18 17:45:20 2019 +0200
+++ b/util/random.lua	Sat May 18 17:28:21 2019 +0200
@@ -12,7 +12,11 @@
 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