パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Microsoft IIS 5.0 のセキュリティバグ(WebDAV 機能)」記事へのコメント

  • プログラムの基本として、全てのバッファに対してオーバーフロー等が生じないようにコーディングするのが普通だと思うのですが、なぜこんなに、次から次に不具合が見つかるのでしょうか?
    • プログラムの基本として、全てのバッファに対して...

      少なくとも文字列処理について言えば、そもそも自前でバッファを確保して使おうなどとするのが、時代遅れで、無粋で、効率の悪いプログラミングスタイルでしょう。別途入念に作られた汎用文字列操作ライブラリを使うことを考えてみるべきです。

      そうした汎用ライブラリを使うと、文字列格納のためのメモリがヒープ領域に

      • by Anonymous Coward
        C/C++用の入念に作られた汎用文字列操作ライブラリ
        なんて知りませんがな。

        無学なモンで、Win上で使える汎用文字列操作ライブラリっつーたら、
        STLのbasic_string (ロケール対応が貧弱) か
        MFCのCString (色々貧弱) しか思いつきません。

        …きっと素晴らしいライブラリを教えてくれるんだろうと願いつつ。
        • 高機能である必要はありませんし、また、自分で(自プロジェクト内で)作るのでもよいです。そこだけ入念に作るわけです。それによってミスの頻度を減らせるでしょうという簡単な話をしているだけです。それすら行われておらず、そこら中に char buf[1024] などというコードが散乱していることが多い、というのが現状ではないでしょうか。
          • それすら行われておらず、そこら中に char buf[1024] などというコードが散乱していることが多い、というのが現状
            固定長バッファが使われること自体は、バッファオーバーフローの引き起こされ易さと何の関係もない。
            • 固定長バッファが使われること自体は、バッファオーバーフローの引き起こされ易さと何の関係もない。

              「何の関係もない」という日本語の使い方が間違っていませんか? 「固定長バッファを使っていてもバッファオーバーフローし

              • 「何の関係もない」という日本語の使い方が間違っていませんか?

                間違ってませんね。大元のコメント [srad.jp]は

                プログラムの基本として、全てのバッファに対してオーバーフロー等が生じないようにコーディングするのが普通

                「なのになぜこんなに?」という質問です。それに対しあなたは

                そこら中に char buf[1024] などというコードが散乱していることが多い、というのが現状ではないでしょうか。

                と、固定長バッファを使用したコードはあたかも必ずバッファオーバーフロー

              • 「なのになぜこんなに?」という質問です。それに対しあなたは

                その質問に対しては他の方から「完全な人間なんていないから」というある種の根源的な回答が既に出ていましたから、私は、別の観点からの解決法として、そもそも「バッファを自前で用意しない」という話を持ち出しました。その流れで、 「そこら中に char buf[1024] などというコードが散乱していることが多い、というのが現状」 と発言したもので

              • by Anonymous Coward on 2003年03月22日 8時51分 (#284036)
                頻度から言えば固定長でバッファオーバーフローしないコードの方が圧倒的多数だと思いますが?

                単に固定長のプログラムが多いから、バッファオーバーフローを指摘されるプログラムも固定長が多いというだけかもしれませんよ?
                そうではないというのであれば、具体的な統計データなり何なり出してください。

                親コメント
              • by jbeef (1278) on 2003年03月22日 18時05分 (#284211) 日記
                頻度から言えば固定長でバッファオーバーフローしないコードの方が圧倒的多数だと思いますが?
                それが何か? 問題のないコードの絶対数を出して何か意味があるのですか?
                単に固定長のプログラムが多いから、
                まさに自前でその都度バッファを確保して自力で操作するようなコードが多いということですね。それだけにミスが絶えないと。 だから、「別途入念に作られた汎用文字列操作ライブラリを使うことを考えてみるべきです」と述べたのですが。まだわかりませんか?
                親コメント

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

処理中...