From 14a17063a11a01d518b4bbaf0eb967330aec3984 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Tue, 3 Dec 2019 08:12:57 +0900 Subject: Fixed stack overflow [Bug #16382] Get rid of infinite recursion in expanding a load path to the real path while loading a transcoder. --- test/ruby/test_encoding.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test/ruby/test_encoding.rb') diff --git a/test/ruby/test_encoding.rb b/test/ruby/test_encoding.rb index 40fd302c07..019cb2417f 100644 --- a/test/ruby/test_encoding.rb +++ b/test/ruby/test_encoding.rb @@ -123,4 +123,15 @@ class TestEncoding < Test::Unit::TestCase assert_include(e.message, "/regexp/sQ\n") end; end + + def test_nonascii_library_path + assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}".force_encoding("US-ASCII")) + begin; + assert_equal(Encoding::US_ASCII, __ENCODING__) + $:.unshift("/\x80") + assert_raise_with_message(LoadError, /\[Bug #16382\]/) do + $:.resolve_feature_path "[Bug #16382]" + end + end; + end end -- cgit v1.2.3