From: Tadayoshi Funaba Date: 1998-07-17T08:15:34+09:00 Subject: [ruby-dev:3326] Re: exprimental release 1.1b9_31 (hopefully final) ふなばです。 system nil でコアダンプするみたいです。 Check_SafeStr が呼ばれないこと があるということと、Check_SafeStr が呼ばれるにしても、 fork したあとで はいけないということがあると思います (型の検査をするという意味もあるの で、ここで例外があるのはよろしくないのではなかと)。 で、修正を試みてみ ましたが、なんかパッとしないかも。 --- process.c.orig Mon Jul 13 13:38:23 1998 +++ process.c Fri Jul 17 08:01:49 1998 @@ -326,3 +326,2 @@ if (progv) { - Check_SafeStr(progv); prog = RSTRING(progv)->ptr; @@ -331,3 +330,2 @@ for (i=0; iptr; @@ -502,2 +500,3 @@ VALUE prog = 0; + int i; @@ -518,4 +517,7 @@ } + if (prog) + Check_SafeStr(prog); + for (i = 0; i < argc; i++) + Check_SafeStr(argv[i]); if (argc == 1 && prog == 0) { - Check_SafeStr(argv[0]); rb_proc_exec(RSTRING(argv[0])->ptr); @@ -673,2 +675,3 @@ if (argc == 1 && prog == 0) { + Check_SafeStr(argv[0]); state = proc_spawn(RSTRING(argv[0])->ptr); @@ -684,2 +687,3 @@ int pid; + int i; @@ -701,2 +705,6 @@ + if (prog) + Check_SafeStr(prog); + for (i = 0; i < argc; i++) + Check_SafeStr(argv[i]); retry: --Tadayoshi Funaba