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

qmailにバッファオーバーフローの脆弱性」記事へのコメント

  • qmailのソースが (スコア:3, おもしろおかしい)

    by Anonymous Coward
    すごい!!という話をどこかで聞いたので
    ちらっと見てみたら確かにすごい!!

    適当に開いてみたtcpto.cの96行目当たりから

    lastwhen = (unsigned long) (unsigned char) record[11];
    lastwhen = (lastwhen lastwhen = (lastwhen lastwhen = (lastwhen when = now();

    プログラミング初心者の私がいうのも何なんですが
    • ここだけ見ると、読みやすくて解かり易く
      ほとんどのCPUアーキテクチャで正しく動作する
      良いプログラムに見えます。

      エンディアンの問題とかメモリーのアクセス制限に引っかかることも
      なさそうで、良く考えて作ってるなと思いますよ。
      • > 良いプログラムに見えます。

         うーん、そうですかねえ。プログラミング/アルゴリズムのお勉強の初歩の初歩、総和の計算を思い出してしまいました。sum=5+4+3+2+1というの。

         DJBはライブラリ関数を信じないそうで、qmailにはその代替のサブルーチンを大量に含んでいます。だけど、微
        • by Anonymous Coward on 2004年01月20日 1時08分 (#476465)
          綺麗でちょくちょく脆弱性が見つかるのと、
          多少クセがあって素人くさい不思議なソースで脆弱性がないもの
          どっちがいいの?
          なんくせ付けてる人はさぞ綺麗で脆弱性がないソース書きの人なんだろうね。
          親コメント
          • by cassandro (6035) on 2004年01月20日 1時56分 (#476510)
            > 綺麗でちょくちょく脆弱性が見つかるのと、多少クセがあって素人
            > くさい不思議なソースで脆弱性がないものどっちがいいの?

             それは、尾籠な話ながら、固形の排泄物味のカレーとカレー味の固形の排泄物のどちらが食べたい?な質問ですね。

             そのどちらもヤ!がボクの答、カレー味のカレーが良いですし、綺麗で脆弱性が無いのが良いでしょう。綺麗である事(論理構造がはっきりしていて読み易い、実行速度とオブジェクト量のバランスが取れている)事と脆弱性が無い事とは、相反する概念ではありませんよ。

            # 綺麗だと検証が楽ですしね。(笑)
            親コメント
            • 綺麗の基準ってなんでしょね・・・。
              いろいろ書けるんですが、読めない奴が読めないといってしまうとそれは綺麗なつもりでもそうではないコードになってしまう・・・。
              • Perlとかすごい人の書いたコードはすごいですね。あれはあれできれいらしいですが僕には解説が必要です(笑)。

                qmailも…うーん。ソースをいじったことはあるんですが、書き方よりも独自Cライブラリのなれの問題かもしれません。

                ライブラリを自分で追ったことがあるんですが、あれは割と苦行でした。
                # 関数の実体を作るマクロ、こまごました(古い)最適化、ループの展開etc…

                よくこれでバグなく動くなぁというのと作者が天才なんだろうなぁというのは僕も同感だったりします。
                親コメント
              • >よくこれでバグなく動くなぁというのと作者が天才なんだろうなぁというのは僕も同感だったりします。

                実はコードがあまりにアレなので、バグの検証をしようという人がいないから長期間バレてないってだけだったりして。

          • 他の人も指摘してるけど、あなたの意見は極端。
            もしかして信者の方かな?
            (素でそんなこと言ってるとしたら怖い)

            まあ、付け加えるなら「メンテナンス性」は大事だよ。
            可能な限り綺麗で脆弱性がないソースを書くのが理想。
            無理ならコメント等で可読性を上げるのも手段の一つ。

            人に説明するのが上手な人ほど物事の本質を捉えるのが上手。
            それができないのは「オレ様が分かればOK」な思想の産物だし。
            (まあ、大体はそれは「分かってない」ことと同義なんだけど)
            親コメント
          • あんまり綺麗じゃないのに脆弱性が全然ないのがすごい、
            という話なのにどうしてそういう反応になるの?
            誰が難癖つけているの?

人生unstable -- あるハッカー

処理中...