diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-10-01 15:56:05 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-10-01 15:56:05 +0000 |
commit | e59cacd6d71bdad060570cfcb494c44e0da2a535 (patch) | |
tree | bc13d8db7a8b41ff261c473ce6501751bf98cf8b /re.c | |
parent | 78ad11898621cd6478f284b3b73746a491e7e617 (diff) | |
download | ruby-e59cacd6d71bdad060570cfcb494c44e0da2a535.tar.gz ruby-e59cacd6d71bdad060570cfcb494c44e0da2a535.tar.xz ruby-e59cacd6d71bdad060570cfcb494c44e0da2a535.zip |
* string.c (rb_str_sum): string may be altered. [ruby-dev:24381]
* eval.c (rb_f_eval): defer pointer retrieval to prevent unsafe
sourcefile string modification. [ruby-dev:24373]
* io.c (io_read): block string buffer modification during
rb_io_fread() by freezing it temporarily. [ruby-dev:24366]
* io.c (rb_io_s_popen): mode argument may be altered.
[ruby-dev:24375]
* file.c (rb_file_s_basename): ext argument may be altered.
[ruby-dev:24377]
* enum.c (enum_sort_by): use NODE instead of 2 element arrays.
[ruby-dev:24378]
* string.c (rb_str_chomp_bang): StringValue() may change the
receiver. [ruby-dev:24371]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@6976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 're.c')
-rw-r--r-- | re.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1722,8 +1722,6 @@ rb_reg_initialize_m(argc, argv, self) len = RREGEXP(argv[0])->len; } else { - s = StringValuePtr(argv[0]); - len = RSTRING(argv[0])->len; if (argc >= 2) { if (FIXNUM_P(argv[1])) flags = FIX2INT(argv[1]); else if (RTEST(argv[1])) flags = RE_OPTION_IGNORECASE; @@ -1749,6 +1747,8 @@ rb_reg_initialize_m(argc, argv, self) break; } } + s = StringValuePtr(argv[0]); + len = RSTRING(argv[0])->len; } rb_reg_initialize(self, s, len, flags); return self; |