[#24536] 「Rubyの落し方」 v.s. ruby_1_8 — akira yamada / やまだあきら <akira@...>

<URL:http://jp.rubyist.net/magazine/?0002-RubyCore>

40 messages 2004/10/20
[#24541] Re: 「Rubyの落し方」 v.s. ruby_1_8 — Yukihiro Matsumoto <matz@...> 2004/10/20

まつもと ゆきひろです

[#24599] 1.8.2 preview3? — akira yamada / やまだあきら <akira@...> 2004/10/26

2004-10-20 (水) の 21:38 +0900 に Yukihiro Matsumoto さんは書きました:

[#24605] Re: 1.8.2 preview3? — akira yamada / やまだあきら <akira@...> 2004/10/27

2004-10-26 (火) の 16:16 +0900 に akira yamada / やまだあきら さんは書きました:

[#24606] Re: 1.8.2 preview3? — Yukihiro Matsumoto <matz@...> 2004/10/27

まつもと ゆきひろです

[#24608] Re: 1.8.2 preview3? — akira yamada / やまだあきら <akira@...> 2004/10/27

2004-10-27 (水) の 11:48 +0900 に Yukihiro Matsumoto さんは書きました:

[#24620] Re: 1.8.2 preview3? — akira yamada / やまだあきら <akira@...> 2004/10/27

2004-10-27 (水) の 12:42 +0900 に akira yamada / やまだあきら さんは書きました:

[#24629] Re: 1.8.2 preview3? — Tanaka Akira <akr@...17n.org> 2004/10/29

In article <1098888819.9446.14.camel@rice.p.arika.org>,

[ruby-dev:24502] Re: require dumps core

From: nobu@...
Date: 2004-10-16 10:05:02 UTC
List: ruby-dev #24502
なかだです。

At Fri, 15 Oct 2004 00:00:03 +0900,
Tanaka Akira wrote in [ruby-dev:24492]:
> 
> 次のようにすると core を吐きます。
> 
> % ./ruby -e '
> o = Object.new
> def o.to_str
>   $s.replace ""
>   "abc"
> end
> $" << o
> $s = "z" * 0x20000
> require $s'

こんなとこでしょうか。


Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.708
diff -u -2 -p -r1.708 eval.c
--- eval.c	15 Oct 2004 03:53:23 -0000	1.708
+++ eval.c	16 Oct 2004 07:58:11 -0000
@@ -6677,5 +6677,5 @@ search_required(fname, featurep, path)
     int type;
 
-    *featurep = fname;
+    *featurep = fname = rb_str_new4(fname);
     *path = 0;
     ext = strrchr(ftptr = RSTRING(fname)->ptr, '.');
@@ -6778,8 +6778,4 @@ rb_require_safe(fname, safe)
 		    ftptr = ruby_strdup(RSTRING(feature)->ptr);
 		    st_insert(loading_tbl, (st_data_t)ftptr, (st_data_t)curr_thread);
-		    if (feature == fname && !OBJ_FROZEN(feature)) {
-			feature = rb_str_dup(feature);
-			OBJ_FREEZE(feature);
-		    }
 		    rb_load(path, 0);
 		    break;


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread