diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-01-04 14:15:33 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-01-04 14:15:33 +0000 |
commit | 459031e5d94baf72c8e30a48922d57c6cff5a2ae (patch) | |
tree | 01f71e4415d55f655c744e1c2289219e46e038d6 /re.c | |
parent | a7685a6b877631dbb4ea9538311c124b5822677a (diff) |
* process.c (rb_f_system): abandon vfork.
* io.c (pipe_open): ditto.
* defines.h: sparc linux needs different FLUSH_REGISTER_WINDOWS
* regex.c (re_search): abandon stclass optimization.
* bignum.c (rb_cstr2inum): deny "0_".
* bignum.c (rb_cstr2inum): allow "0\n" and so on.
* error.c (rb_invalid_str): utility function to show inspect()'ed
string.
* bignum.c (rb_cstr2inum): prints invalid strings in inspect()'ed
format.
* object.c (rb_Float): ditto.
* object.c (rb_convert_type): no longer use rb_rescue().
* re.c (rb_reg_search): initialize taint status of match object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -649,6 +649,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, ®s); RMATCH(match)->str = rb_str_new4(str); rb_backref_set(match); |