summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorksaito <ksaito@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-28 03:07:48 +0000
committerksaito <ksaito@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-28 03:07:48 +0000
commit010daea0e99135f74b320a52d571d7e6fd7117e5 (patch)
treed2d63b456d9970d6419882c101ec1d9708d698c4
parent8ec1c9bd1e1e2d1fa90bf9f1c69d3da3c187b5dc (diff)
downloadruby-010daea0e99135f74b320a52d571d7e6fd7117e5.tar.gz
ruby-010daea0e99135f74b320a52d571d7e6fd7117e5.tar.xz
ruby-010daea0e99135f74b320a52d571d7e6fd7117e5.zip
* regexec.c, test/ruby/test_regexp.rb: fixed segmentation falut ([ruby-dev:24887]).
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--regexec.c2
-rw-r--r--test/ruby/test_regexp.rb4
3 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ba5acbc45..fbe5cd11a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Nov 28 12:07:04 2004 Kazuo Saito <ksaito@uranus.dti.ne.jp>
+
+ * regexec.c, test/ruby/test_regexp.rb: fixed segmentation falut
+ ([ruby-dev:24887]).
+
Sun Nov 28 12:05:48 2004 Kazuo Saito <ksaito@uranus.dti.ne.jp>
* regcomp.c, regint.h: fixed PLATFORM_UNALIGNED_WORD_ACCESS
diff --git a/regexec.c b/regexec.c
index 594c173a8..07af4fe10 100644
--- a/regexec.c
+++ b/regexec.c
@@ -3199,7 +3199,7 @@ onig_search(regex_t* reg, UChar* str, UChar* end,
}
}
else if (reg->anchor & ANCHOR_SEMI_END_BUF) {
- UChar* pre_end = ONIGENC_STEP_BACK(reg->enc, start, end, 1);
+ UChar* pre_end = ONIGENC_STEP_BACK(reg->enc, str, end, 1);
if (ONIGENC_IS_MBC_NEWLINE(reg->enc, pre_end, end)) {
semi_end = pre_end;
diff --git a/test/ruby/test_regexp.rb b/test/ruby/test_regexp.rb
index 217177375..889fbb4b2 100644
--- a/test/ruby/test_regexp.rb
+++ b/test/ruby/test_regexp.rb
@@ -8,4 +8,8 @@ class TestRegexp < Test::Unit::TestCase
def test_ruby_talk_116455
assert_match(/^(\w{2,}).* ([A-Za-z\xa2\xc0-\xff]{2,}?)$/, "Hallo Welt")
end
+
+ def test_ruby_dev_24887
+ assert_equal("a".gsub(/a\Z/, ""), "")
+ end
end