diff options
| author | Takashi Kokubun <takashikkbn@gmail.com> | 2024-05-29 11:07:07 -0700 |
|---|---|---|
| committer | Takashi Kokubun <takashikkbn@gmail.com> | 2024-05-29 11:07:07 -0700 |
| commit | 548c7cb9f517dcb8029bd9698187c81819e08edd (patch) | |
| tree | 45ed193d5d7f36bf0fb66b9dbc919dd800122f79 /test | |
| parent | 8f1084db9b07cb74f99de70d6f8bb6076d27d8aa (diff) | |
merge revision(s) 7e4b1f8e1935a10df3c41ee60ca0987d73281126: [Backport #20322]
[Bug #20322] Fix rb_enc_interned_str_cstr null encoding
The documentation for `rb_enc_interned_str_cstr` notes that `enc` can be
a null pointer, but this currently causes a segmentation fault when
trying to autoload the encoding. This commit fixes the issue by checking
for NULL before calling `rb_enc_autoload`.
Diffstat (limited to 'test')
| -rw-r--r-- | test/-ext-/string/test_fstring.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/-ext-/string/test_fstring.rb b/test/-ext-/string/test_fstring.rb index b7416ccbf3..962e0a0a6f 100644 --- a/test/-ext-/string/test_fstring.rb +++ b/test/-ext-/string/test_fstring.rb @@ -20,6 +20,10 @@ class Test_String_Fstring < Test::Unit::TestCase RUBY end + def test_rb_enc_interned_str_null_encoding + assert_equal Encoding::ASCII_8BIT, Bug::String.rb_enc_interned_str(nil).encoding + end + def test_rb_enc_str_new_autoloaded_encoding assert_separately([], <<~RUBY) require '-test-/string' @@ -28,6 +32,10 @@ class Test_String_Fstring < Test::Unit::TestCase RUBY end + def test_rb_enc_str_new_null_encoding + assert_equal Encoding::ASCII_8BIT, Bug::String.rb_enc_str_new(nil).encoding + end + def test_instance_variable str = __method__.to_s * 3 str.instance_variable_set(:@test, 42) |
