aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--regexec.c1
-rw-r--r--test/ruby/test_regexp.rb3
2 files changed, 4 insertions, 0 deletions
diff --git a/regexec.c b/regexec.c
index 9e5f559731..983b0a1ea8 100644
--- a/regexec.c
+++ b/regexec.c
@@ -2506,6 +2506,7 @@ match_at(regex_t* reg, const UChar* str, const UChar* end,
CASE(OP_MEMORY_START) MOP_IN(OP_MEMORY_START);
GET_MEMNUM_INC(mem, p);
mem_start_stk[mem] = (OnigStackIndex )((void* )s);
+ mem_end_stk[mem] = INVALID_STACK_INDEX;
MOP_OUT;
JUMP;
diff --git a/test/ruby/test_regexp.rb b/test/ruby/test_regexp.rb
index d17a125444..85d5b2cdfe 100644
--- a/test/ruby/test_regexp.rb
+++ b/test/ruby/test_regexp.rb
@@ -1238,6 +1238,9 @@ class TestRegexp < Test::Unit::TestCase
assert_equal(0, /\/\*((?~\*\/))\*\// =~ "/*abc*def/xyz*/ /* */")
assert_equal("abc*def/xyz", $1)
+
+ assert_equal(0, /(?~(a)c)/ =~ "abb")
+ assert_nil($1)
end
# This assertion is for porting x2() tests in testpy.py of Onigmo.