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

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にはその代替のサブルーチンを大量に含んでいます。だけど、微
        • 綺麗でちょくちょく脆弱性が見つかるのと、
          多少クセがあって素人くさい不思議なソースで脆弱性がないもの
          どっちがいいの?
          なんくせ付けてる人はさぞ綺麗で脆弱性がないソース書きの人なんだろうね。
          • > 綺麗でちょくちょく脆弱性が見つかるのと、多少クセがあって素人
            > くさい不思議なソースで脆弱性がないものどっちがいいの?

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

             そのどちらもヤ!がボクの答、カレー味の
            • 綺麗の基準ってなんでしょね・・・。
              いろいろ書けるんですが、読めない奴が読めないといってしまうとそれは綺麗なつもりでもそうではないコードになってしまう・・・。
              • Perlとかすごい人の書いたコードはすごいですね。あれはあれできれいらしいですが僕には解説が必要です(笑)。

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

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

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

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

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

処理中...