公開: 2011年8月28日0時15分頃 PHPのcryptバグ原因について徳丸さんが解説されています……「PHP5.3.7のcrypt関数のバグはこうして生まれた (blog.tokumaru.org)」。 strcatは文字列の末尾に文字列を連結する関数ですが、バッファの長さを気にしないので、使い方を誤るとバッファオーバーランの原因になる可能性があります。そのため、strcatを使っているとコード解析ツールで警告される場合があります。それを嫌ってstrncatに修正し、さらにstrlcatに変更したところでバグが入ってしまったということですね。 この修正を行ったのはPHPの創始者であるRasmus Lerdorf (ja.wikipedia.org)本人で、Google+でコメントされています。興味深いのはこのあたり。 The crypt change did trigger a te