説明
固定長配列の範囲外を指す定数インデックスを使うと、隣接するメモリを読み書きする可能性があります。
想定される影響
- メモリ破損、情報漏えい、クラッシュのおそれがあります。
対処方法
配列の範囲内のインデックスだけを使ってください。ループの条件や定数値を、配列の宣言と合わせて確認してください。
例
変更前
c
int values[4];
values[4] = 1;
変更後
c
int values[4];
values[3] = 1;
要素数が4の配列で有効なインデックスは0から3です。変更後は最後の有効な要素にアクセスします。