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

Let's Encrypt、証明書およそ300万件の強制失効処理を取りやめ」記事へのコメント

  • ぐええ (スコア:5, おもしろおかしい)

    by minet (45149) on 2020年03月08日 18時35分 (#3775323) 日記

    申請にN個のドメインが含まれていた場合、Boulderは1個のみを選択してN回チェックしていたとのこと。

    ぐあぁぁ
    (なにかトラウマが刺激されたらしい)

    • by minet (45149) on 2020年03月09日 11時03分 (#3775548) 日記

      これだけじゃ何のことか分からんという人のために、
      丁寧に解説してくださっているブログを見つけたので参照。
      Let's EncryptがはまったGolangの落とし穴 [hatenablog.com]

      これは、ループ内でループ変数iの参照を配列に入れてしまうことで、ループ終了後の出力値が
      (…中略)
      のように配列が全て同じ値になってしまう問題です。

      for や range などで扱うループ変数が同じ参照になることを知っていないとやってしまいそうな初心者的な間違いです。
      (…中略)
      これはひょっとしたら自分もいつかこのようなバグを仕込んでしまうかも、と背筋が寒くなりました。

      親コメント
      • by Anonymous Coward

        Goはよくわからんので「Goでよくある間違い」をC++に移植してみた。

        #include <iostream>
        #include <vector>
         
        int main() {
            std::vector<int*> out;
            for (int i = 0; i < 3; ++i) {
                out.push_back(&i);
            }
            std::cout << "Vaues: " << *out[0] << " " << *out[1] << " " << *out[2] << std::endl;
            std::cout << "Addresses: " << out[0] << " " << out

        • by Anonymous Coward

          あ、iのスコープはforループの中だから見事に鼻から悪魔が出てた。

              int i;
              for (i = 0; i < 3; ++i) {

          こうしないとダメか。C++だといかにも不自然になるな

      • ループ変数の値でなく参照を配列に積んでいくって、どう考えたらそういう発想になるのか判らないのですが...
        Goだと、参照を渡すのがほぼ常だとかいうのがあるのでしょうか。

    • by Anonymous Coward

      ぺろっ。
      こ、これは並列処理?!

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

処理中...