--- a/util-src/crand.c Sat Feb 25 02:15:15 2017 +0100
+++ b/util-src/crand.c Sat Feb 25 17:57:22 2017 +0100
@@ -67,6 +67,11 @@
arc4random_buf(buf, len);
ret = len;
#elif defined(WITH_OPENSSL)
+ if(!RAND_status()) {
+ lua_pushliteral(L, "OpenSSL PRNG not seeded");
+ lua_error(L);
+ }
+
ret = RAND_bytes(buf, len);
if(ret == 1) {
@@ -87,6 +92,7 @@
#if (LUA_VERSION_NUM > 501)
luaL_checkversion(L);
#endif
+
lua_newtable(L);
lua_pushcfunction(L, Lrandom);
lua_setfield(L, -2, "bytes");
@@ -100,10 +106,6 @@
#endif
lua_setfield(L, -2, "_source");
-#if defined(WITH_OPENSSL) && defined(_WIN32)
- /* TODO Do we need to seed this on Windows? */
-#endif
-
return 1;
}