[前][次][番号順一覧][スレッド一覧]

ruby-changes:71187

From: Yusuke <ko1@a...>
Date: Wed, 16 Feb 2022 16:32:42 +0900 (JST)
Subject: [ruby-changes:71187] b9851c7e1b (master): lib/securerandom.rb: Fix the check of availability of Random.urandom

https://git.ruby-lang.org/ruby.git/commit/?id=b9851c7e1b

From b9851c7e1b1cbc13b050831b0429e7a4097e11b7 Mon Sep 17 00:00:00 2001
From: Yusuke Endoh <mame@r...>
Date: Wed, 16 Feb 2022 14:15:11 +0900
Subject: lib/securerandom.rb: Fix the check of availability of Random.urandom

Random.urandom raises a RuntimeError if it is unavailable.
[Bug #13885]
---
 lib/securerandom.rb | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lib/securerandom.rb b/lib/securerandom.rb
index 9cbf4ea789..07ae048634 100644
--- a/lib/securerandom.rb
+++ b/lib/securerandom.rb
@@ -72,8 +72,11 @@ module SecureRandom https://github.com/ruby/ruby/blob/trunk/lib/securerandom.rb#L72
       ret
     end
 
-    ret = Random.urandom(1)
-    if ret.nil?
+    begin
+      # Check if Random.urandom is available
+      Random.urandom(1)
+      alias gen_random gen_random_urandom
+    rescue RuntimeError
       begin
         require 'openssl'
       rescue NoMethodError
@@ -81,8 +84,6 @@ module SecureRandom https://github.com/ruby/ruby/blob/trunk/lib/securerandom.rb#L84
       else
         alias gen_random gen_random_openssl
       end
-    else
-      alias gen_random gen_random_urandom
     end
 
     public :gen_random
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]