зеркало из https://github.com/github/ruby.git
lib/securerandom.rb: Fix the check of availability of Random.urandom
Random.urandom raises a RuntimeError if it is unavailable. [Bug #13885]
This commit is contained in:
Родитель
e7d76fe2b0
Коммит
b9851c7e1b
|
@ -72,8 +72,11 @@ module SecureRandom
|
|||
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
|
|||
else
|
||||
alias gen_random gen_random_openssl
|
||||
end
|
||||
else
|
||||
alias gen_random gen_random_urandom
|
||||
end
|
||||
|
||||
public :gen_random
|
||||
|
|
Загрузка…
Ссылка в новой задаче