summaryrefslogtreecommitdiff
path: root/re.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-12-25 15:09:05 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-12-25 15:09:05 +0000
commit49c69543516cc5d3a8885fdc3f5ca3af08b9becd (patch)
treee70d72106be91f13d1ba5ad8e7d0dddf20762984 /re.c
parentec7a338ade8a39f3099f0d78baae52be45cb1b62 (diff)
* stable version 1.6.6 released.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r--re.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/re.c b/re.c
index 2b5c5343b4..4ff48632c0 100644
--- a/re.c
+++ b/re.c
@@ -636,6 +636,13 @@ rb_reg_search(re, str, pos, reverse)
if (NIL_P(match) || FL_TEST(match, MATCH_BUSY)) {
match = match_alloc();
}
+ else {
+ if (rb_safe_level() >= 3)
+ OBJ_TAINT(match);
+ else
+ FL_UNSET(match, FL_TAINT);
+ }
+
re_copy_registers(RMATCH(match)->regs, &regs);
RMATCH(match)->str = rb_str_new4(str);
rb_backref_set(match);