Check encoding name to replicate

https://hackerone.com/reports/954433
This commit is contained in:
Nobuyoshi Nakada 2020-08-13 16:45:51 +09:00
parent ab6c4f8be3
commit 7ffd14a18c
No known key found for this signature in database
GPG key ID: 7CD2805BFA3770C6
3 changed files with 37 additions and 17 deletions

View file

@ -61,7 +61,7 @@ class TestEncoding < Test::Unit::TestCase
assert_instance_of(Encoding, Encoding::ISO_2022_JP.replicate("ISO-2022-JP-ANOTHER#{Time.now.to_f}"))
bug3127 = '[ruby-dev:40954]'
assert_raise(TypeError, bug3127) {Encoding::UTF_8.replicate(0)}
assert_raise(ArgumentError, bug3127) {Encoding::UTF_8.replicate("\0")}
assert_raise_with_message(ArgumentError, /\bNUL\b/, bug3127) {Encoding::UTF_8.replicate("\0")}
END;
end
@ -79,6 +79,12 @@ class TestEncoding < Test::Unit::TestCase
assert_equal(e, (("x"*30).force_encoding(e)*1).encoding)
GC.start
name = "A" * 64
Encoding.list.each do |enc|
assert_raise(ArgumentError) {enc.replicate(name)}
name.succ!
end
end;
end