境界違反

変数 (通常は配列) の境界外へのアクセスが見つかりました。

境界違反は、メモリー異常や初期化されていないデータの読み取りにより、予期しない動作を引き起こします。境界違反は、ソフトウェアのセキュリティー問題を引き起こす主な原因の 1 つです。 境界違反により、不当にメモリーにコードを書き込み、そのコードを実行することで処理を制御してしまう可能性があります。

境界違反には、問題の文が実行された場合には常に発生するものと、 関連する変数の値によって発生する可能性があるものがあります。どちらの場合も、ランタイムに境界違反が発生しないように、注意深く検証し修正する必要があります。

ID

問題箇所

説明

1

バッファー・オーバーフロー

境界違反を含む文

          
int a[10], b[10];

void f() {
    int i;
    for (i = 0; i <= 10; i++) {
        a[i] = 0; // will assign to a[10] (bounds error)
        b[i - 1] = 0; // will assign to b[-1] (bounds error)
    }
}
        

© 2010 Intel Corporation. 無断での引用、転載を禁じます。