Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Do NOT use system()



馬場@宇宙研PLAINセンター です。

 From: knok@xxxxxxxxxxxxx
 Subject: [namazu-devel-ja] Re: Do NOT use system() (Re: namazu/filter committed by baba)
 Date: Thu, 25 Jul 2002 11:25:36 JST

 > >> この system() 危険ではないですか?
 > >> ファイル名に「`rm -r *`」といったものが含まれている場合とか。

どうも不注意なものですみません。ご指摘ありがたいです。


 >   deb.pl, rpm.pl について、同様の指摘を以前 Luc さんに受けており、その
 > 時は quotemeta を利用して回避しました。
 >   今回も同様の処置をすれば(とりあえずは)良いと思います。

pdf.pl には pdftotext を実行しているところでも system() をつかって
ますが、両方とも $tmpfile にしてるから大丈夫、とみました。(正しい?)
なので、system("pdfinfo $cfile") から、($cfile を一時ファイルにコ
ピーしているところの) system("pdfinfo $tmpfile") に変更しました。

それより、Windows 環境でためしたところ、
system("pdfinfo $tmpfile > $tmpfile3") が実行できないので、

        open(SAVEOUT, ">&STDOUT");
        open(SAVEOUT, ">$tmpfile3");
        system("$pdfinfopath $tmpfile");
        open(STDOUT, ">&SAVEOUT");

のようなださい方法で逃げてしまいました。これで、Linux でも Windows 
でも意図したとおり動くことは確認しましたが、よりよい包括的なコード
があれば、さくっと直していただけるとありがたいです。
--
馬場  肇 ( Hajime BABA )                  E-mail: baba@xxxxxxxxxxxxxxxx
宇宙科学研究所 宇宙科学企画情報解析センター
--