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

プレステ2の自由利用を可能にするバッファオーバフロー」記事へのコメント

  • 質問形式でお送りします (スコア:3, おもしろおかしい)

    by Anonymous Coward
    Q.なぜバッフアーオーバーフローがおこるのですか
    A.不定長のデーターに対して下のようなコードを書くからです。
    void func()
    {

    char buf[BUFSIZE];
    .
    .
    .

    }
    Q.何年も前からわかっていながら、なぜ対処しないのですか。
    A.このようなコードを書いてある本が存在するからという説と
    わざと入れているという説があります。
    Q.信じられません。自分のプログラムに穴をあけるなんて。
    A.一部のプログラマーは、これを指摘すると「仕様です」というので
    間違いありません。意図的にやっているのです。
    Q.彼らの目的は何なのです

    • by Anonymous Coward
      反論:
      このQAは表面しか見ていません。BUFSIZEを定義していることが、バッファーオーバーフローに直結するわけではありません。
      問題はBUFSIZEを限界チェックをしていなことです。限界チェックをしないのなら、#defineする必要もないはずです。
      BUFSIZEという形式だけを見て、その目的まで覚えなかった、学習者のミスです。
      • ていうか、C言語は配列の限界のチェックを自分でしなければならない言語だということが分かっていないだけでは?
        --
        (´д`;)
        • > ていうか、C言語は配列の限界のチェックを自分でしなければならない言語だということが分かっていないだけでは?

          え?そんな人にCode書かせていいの?
          • 書かせているからこのたぐいのバグが残ったままのコードが世に出るのでは?

            まあでも入門書とかもあまり良いのがないような気がするな。

            # バッファ長を考慮しない gets() や sprintf() がある
            # というのも問題といえば問題かな?
            --
            (´д`;)
            • C言語の失敗は、中途半端に配列の概念を定義したことだと思うな。
              素直にポインタだけにしておけば自分で管理しなきゃならんって気がつくだろうに、あんな配列なんてBASICだのCOBOLだのから流れてきたやつはみんなしくじるよ。
              • by Anonymous Coward on 2003年08月18日 1時14分 (#380528)
                無知に原因のすべてを押しつけるのはちょっと無理があります。
                世の中のホールの半分くらいは、無知が原因なのではなくて
                うっかりミスが原因でしょう。
                自動的に strict な境界チェックするようなライブラリを
                用意しない限り、この手の穴は防げません。
                親コメント

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

処理中...