Out-of-Bounds Write (境界外書き込み)
ルール ID
MI109
定義
ソフトウェアは、意図されたバッファーの終端を越えたデータ、または先頭より前のデータを書き込んでいます。
サンプル
次のコードは、CWE の該当コード サンプルの 1 つです。
| int id_sequence[3];
/* Populate the id array. */
id_sequence[0] = 123;
id_sequence[1] = 234;
id_sequence[2] = 345;
id_sequence[3] = 456;
|
次のコードは、配列に 4 つの識別番号を書き込もうとします。配列は 3 つの要素だけを格納できるよう割り当てられているため、有効なインデックスは 0 から 2 です。そのため、id_sequence[3] への代入は境界外です。
参考資料
- Common Weakness Enumeration: CWE-121
- Common Weakness Enumeration: CWE-122
- Common Weakness Enumeration: CWE-787
- Common Weakness Enumeration: CWE-913