システムプログラミングなどではまだまだ使用されているプログラミング言語C。柔軟性が高くなんでもできる反面、ポインタに関する取り利扱いが難しくさまざまな不具合の温床となっていることでも知られています。
今回このC言語の欠点を改善する拡張版のC言語「Checked C」をMicrosoftがオープンソース化して公開しました(slashdot、スラド)。言語仕様および、LLVM/clangでChecked Cを取り扱えるようにした修正版のソースコードが公開されています。
Checked Cでは、ポインタに境界チェック機能が追加され、不正なデータアクセスを実行時にチェック、検出することが可能となっています。また既存のC言語のソースを徐々にChecked Cバージョンに書き換えるといったことも可能な模様。
脆弱性として悪用されることの多いバッファーオーバーフローのような不具合がChecked Cで根絶されることになるのかどうか注目です。