From: Minero Aoki Date: 2002-10-25T03:21:32+09:00 Subject: [ruby-dev:18581] [PATCH] ' '.dup.rstrip.gsub(/a/, '').split(//) causes SEGV あおきです。 後世の参照のため (?) こちらにもいちおう投げておきます。 CVS HEAD で以下のスクリプトが SEGV します。 ' '.dup.rstrip.gsub(/a/, '').split(//) パッチは添付の通り。チェックイン済です。 ------------------------------------------------------------------- 青木峰郎 diff -u -p -r1.122 -r1.123 --- string.c 23 Oct 2002 10:17:29 -0000 1.122 +++ string.c 24 Oct 2002 17:54:53 -0000 1.123 @@ -2533,7 +2533,11 @@ rb_str_split_m(argc, argv, str) while ((end = rb_reg_search(spat, str, start, 0)) >= 0) { regs = RMATCH(rb_backref_get())->regs; if (start == end && BEG(0) == END(0)) { - if (last_null == 1) { + if (!RSTRING(str)->ptr) { + rb_ary_push(result, rb_str_new("", 0)); + break; + } + else if (last_null == 1) { rb_ary_push(result, rb_str_substr(str, beg, mbclen2(RSTRING(str)->ptr[beg],spat))); beg = start; }