From d212f11a004fb60534fc49374a1d5e159a14d710 Mon Sep 17 00:00:00 2001 From: mame Date: Tue, 12 Sep 2017 13:57:36 +0000 Subject: Random.urandom raises an exception instead of returning nil when failed Early failure looks better in this case. Refs [Bugs #13885]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- random.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/random.c b/random.c index 82a51ccb6d..8ea3d77f22 100644 --- a/random.c +++ b/random.c @@ -624,7 +624,8 @@ random_raw_seed(VALUE self, VALUE size) long n = NUM2ULONG(size); VALUE buf = rb_str_new(0, n); if (n == 0) return buf; - if (fill_random_bytes(RSTRING_PTR(buf), n, FALSE)) return Qnil; + if (fill_random_bytes(RSTRING_PTR(buf), n, FALSE)) + rb_raise(rb_eRuntimeError, "failed to get urandom"); return buf; } -- cgit v1.2.3