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
宇宙科学研究所 宇宙科学企画情報解析センター
--