From 3ca6da24e397e550d589a69791be7697c0cb73c6 Mon Sep 17 00:00:00 2001 From: yui-knk Date: Fri, 23 Feb 2024 09:30:14 +0900 Subject: [Bug #20295] Fix SEGV when parsing invalid regexp --- test/ruby/test_syntax.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index d494820388..42108f955f 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -1034,6 +1034,14 @@ eom assert_not_match(/end-of-input/, e.message) end + def test_invalid_regexp + bug20295 = '[ruby-core:116913] [Bug #20295]' + + assert_syntax_error("/[/=~s", /premature end of char-class/, bug20295) + assert_syntax_error("/(?<>)/=~s", /group name is empty/, bug20295) + assert_syntax_error("/(?[)/=~s", /premature end of char-class/, bug20295) + end + def test_lineno_operation_brace_block expected = __LINE__ + 1 actual = caller_lineno\ -- cgit v1.2.3