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

iOS7.0.6で修正された「最悪のセキュリティバグ」はありがちなコーディングミスで発生していた」記事へのコメント

  • 警告を無視しちゃいかんという教訓を得たと。

    こんな感じに、if分を一行にまとめてしまえば、こんな不具合出なかった気がします。

    if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail;
    if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail;
    if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail;

    一行が長くなるのを嫌ったのかな?

    • Re: (スコア:3, すばらしい洞察)

      by Anonymous Coward

      一行にまとめるコーディングは嫌いですし、職業プログラマーはあまり使うべきではないとも思っています。
      なので対処はif分の処理が1行でも必ず括弧で括る事です。

      • by Anonymous Coward on 2014年02月24日 19時10分 (#2550913)

        スタイルの問題ではないでしょこれは。
        こういう重要な箇所くらいテストで100%のカバレッジを確保しろよと。
        どーでもいいとこに心血注ぐ必要はないけどさ。

        親コメント
        • by Anonymous Coward

          gotoとか使うとか{}を書かないとかするなら、全パターン網羅しろって感じではあります。

        • by Anonymous Coward

          だよね、カバレッジ取れば実行されないことが一発で分かる。
          どこまでのテストをしているのか分からないけど、品質管理は相当お粗末なのだろうな。

        • by Anonymous Coward

          いいえ、コーディングスタイルとテストの両方が必要です。

        • by Anonymous Coward

          テストもコードであるかぎり必ず漏れが発生するよ。
          常に完璧なテストコードを書けるようならそもそも最初のバグ自体入らん。

アレゲはアレゲを呼ぶ -- ある傍観者

処理中...