メモリ安全性とは?
メモリ安全性とは、確保した領域の範囲外へのアクセスや、解放済み領域の参照といった不正なメモリ操作が起こらないことが保証される性質。C/C++はこの保証がなく、バッファオーバフローや解放後使用がそのまま脆弱性になる。Rustのように所有権の仕組みで言語レベルに保証を持たせた言語がある。
めもりあんぜんせい
メモリ安全性の意味
確保した領域の範囲外へのアクセスや、解放済み領域の参照といった不正なメモリ操作が起こらないことが保証される性質。C/C++はこの保証がなく、バッファオーバフローや解放後使用がそのまま脆弱性になる。Rustのように所有権の仕組みで言語レベルに保証を持たせた言語がある。
メモリ安全性の具体例
配列の境界チェックや、参照の有効期間をコンパイル時に検証することで、実行時の不正アクセスを排除する。
メモリ安全性は試験でどう引っ掛けられる?
MISRA-Cに従ってもメモリ安全性が保証されるわけではない(規約は危険な書き方を減らすもので、言語レベルの保証ではない)。またガベージコレクションがあれば解放後使用は防げるが、配列の範囲外アクセスは境界検査の有無で決まる別の話。型安全性とも同義ではない。
メモリ安全性と関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。