Re: 2ページにまたがる文字のカラー出力

名前: nide
日時: 2003-01-13 21:53:16
IPアドレス: 160.11.72.*

>>15061 # 間違えて途中で書き込んでしまいました。 私はLinux環境ということもあってdvioutのユーザで はないのですが、dvispcは単体で使っても有用そうで、 使う機会もありそうに思うので、期待しています。 そういうわけで、このプログラムをUNIX環境でも 使われるべきプログラムとしてみた時に、まだいくつか 問題が残っていると感じます。 近年、セキュリティの問題がクローズアップされるよ うになり、その一環として「長さの上限があらかじめ わからないようなデータを固定長バッファに書き込むことは セキュリティ上問題なので避けるべきだ」との認識も一般化 してきたのですが、このプログラムでは、argv[i]をそのまま 固定長のinfileにstrcpyしているような問題が残っている ように見えます。 また、セキュリティといえば、一時ファイルの名前と して、UNIXでは「….$$$」のような名前を使うより、 一時ファイル作成用のライブラリを使う方が、セキュリティ 対策の意味からもよいと思います。一時ファイルの名前が 予測可能だと、ローカルから攻撃しやすくなります。 既に修正された箇所もあるかも知れませんが、上に述べた ことに関する簡単なパッチを作ってみました。(Jan 13 18:57 版に対するものです) ただし、元のプログラムに対してなるべく変更が局所的に 完結するようにしたので、必ずしも理想的な対処と言えない 箇所もあります。例えば、一時ファイルの生成にmkstemp()を 使っていますが、gccのマニュアルによると「この関数は使うな、 tmpfile()の方がbetter definedでよりportableだ」だそうです。 また、固定長バッファの問題に関しては、チェックした のはファイル名の生成まわりだけです。 http://hayabusa.ics.nara-wu.ac.jp/~nide/tmp/dvispcdf.lzh です。よろしければ、お使い下さい。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)