From: nobu.nakada@... Date: 2003-03-31T14:37:38+09:00 Subject: [ruby-list:37475] Re: Tmpfile.newがデフォルトで/tmpを利用すること なかだです。 At Mon, 31 Mar 2003 12:25:07 +0900, Tadatoshi Kamimura wrote: > >  環境変数 TMPDIR, TMP, TEMP のいずれかを定義して解決というのでは > > ダメでしょうか。 > > > > tempfile.rbを見ると(1.6.8)、initializeの冒頭で > --- > if $SAFE > 0 and tmpdir.tainted? > tmpdir = '/tmp' > end > --- > となっています。tmpdir は initializeの第二引数で、何も指定しなければ > ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'/tmp' となっています。 > ところが、コメントに "ENV values are tainted by default" とあり、 > $SAFE >0 だと、環境変数を指定しても意味がないようです。 強引にuntaintしたものを返すようにするとか。 ENV.instance_eval{@env = {}} class << ENV alias getenv [] alias setenv []= def [](key) @env[key] ||= getenv(key) end def []=(key, value) @env[key] = setenv(key, value) end end ENV["TMPDIR"].untaint -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦