小宮です。

> > ./tempfile.rb:40:in `exist?': Insecure operation - exist?
> > (SecurityError)
...
> 手抜き対策としては、tempfile.rb の SecurityError の出ている部分を
> untaint で汚染していないとしてしまう事でしょうかね。

  とのことなので、さっそく手を加えてみました。

37c37
<         tmpname = sprintf('%s/%s%d.%d', tmpdir, basename, $$, n)
---
>         tmpname = sprintf('%s/%s%d.%d', tmpdir, basename, $$, n).untaint

  すると、ここは抜けたようなのですが、

---[begin]---
/usr/local/lib/ruby/1.6/cgi.rb:838:in `read_multipart': failed to
allocate memory(realloc) (fatal)
        from /usr/local/lib/ruby/1.6/cgi.rb:895:in `initialize_query'
        from /usr/local/lib/ruby/1.6/cgi.rb:1860:in `initialize'
        from /var/www/htdocs/modeldb/samples/upload.rb:8:in `new'
        from /var/www/htdocs/modeldb/samples/upload.rb:8
---[end]---

  などと言われてしまいます。
  これって [ruby-list:26419] と同じ error なんですかね〜。


  [ruby-list:26420] では、

>> /usr/local/lib/ruby/1.6/cgi.rb:838:in `read_multipart': failed to allocate
>>  memory(realloc) (fatal)
>
>という事ですから、ruby 本体の問題のような気がしますが、とりあえず、
>[ruby-list:25399] を試してみて下さい。この時はコンパイラを変更して解決
>したようです。

  と青山さんが書かれていましたので、

  [ruby-list:25399] からの thread を見てみると

>gcc version 2.95.2 19991024 (release)

  で解決したとの旨が書いてありました。
  しかし、私のところも

oracle:~>gcc -v
Reading specs from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/specs
gcc version 2.95.2 19991024 (release)

  なんですよねぇ…(^^;

  私では対処のしようがなくて困っています(^^;

> > /usr/lib/ruby/1.4/cgi.rb:739:in `read_multipart': undefined method
> > `size' for nil (NameError)
> 
> こちらに関しては、ruby 1.4.6 では対応されていますので、1.4 系を使用す
> る場合には、1.4.6 をおすすめします。

  んー、1.6 じゃなくて 1.4 に戻した方がいいのかなぁ…
  それで動くのであれば、動作することが最優先なのでそっちに逃げようかと思
いますが…。

##  oracle, rbnamazu は動くかなぁ…(^^;;