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/