diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2016-11-15 16:53:51 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2016-11-19 13:55:50 +0000 |
commit | e6720063c6503ba273674735703c5aa3591beef3 (patch) | |
tree | 4e675ee3f085397a3f9b1a6940240366ba95c5ca /test/ruby/test_regexp.rb | |
parent | 104dd8c92fb2f029a1ae1a44377d552e29d729de (diff) | |
download | ruby-e6720063c6503ba273674735703c5aa3591beef3.tar.gz |
re.c: make MatchData#hash and #== check the MatchData is initialized
Fix possible segfaults that can occur if they are called against an
uninitialized MatchData.
MatchData#hash now calls match_check() before dereferencing the String,
and MatchData#== (#eql?) checks that RMatch::regexp is non-zero.
Diffstat (limited to 'test/ruby/test_regexp.rb')
-rw-r--r-- | test/ruby/test_regexp.rb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/test/ruby/test_regexp.rb b/test/ruby/test_regexp.rb index 4853c41b86..b0da247f4f 100644 --- a/test/ruby/test_regexp.rb +++ b/test/ruby/test_regexp.rb @@ -941,6 +941,7 @@ class TestRegexp < Test::Unit::TestCase assert_raise(TypeError) { MatchData.allocate.to_s } assert_match(/^#<MatchData:.*>$/, MatchData.allocate.inspect) assert_raise(TypeError) { MatchData.allocate.string } + assert_raise(TypeError) { MatchData.allocate.hash } $~ = MatchData.allocate assert_raise(TypeError) { $& } assert_raise(TypeError) { $` } |