このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
静的メモリの欠陥
静的メモリのコーディング エラーに関する欠陥、範囲外の配列、null ポインター、標準メモリおよび文字列ライブラリ
これらの欠陥は、メモリが静的に割り当てられた場合のメモリ使用法に関係するエラーです。欠陥には次のものがあります。
配列の境界外へのアクセス
null ポインター
ポインターのキャスト
Polyspace 結果
NULL ポインターを使用した算術演算 | NULL ポインターに対し実行された算術演算 |
配列が範囲外にアクセス | 配列へのアクセス中に範囲外となる配列のインデックス |
無効な文字列形式指定子によるバッファー オーバーフロー | 文字列形式指定子により標準ライブラリ関数のバッファー引数でオーバーフローが発生 |
文字列操作で格納先バッファーがオーバーフローしています | 関数がバッファー サイズより大きいオフセットでバッファーに書き込む |
文字列操作で格納先バッファーがアンダーフローしています | 関数がバッファーの先頭から負のオフセットでバッファーに書き込む |
標準ライブラリ メモリ ルーチンの無効な使用 | 無効な引数での標準ライブラリ メモリ関数の呼び出し |
標準ライブラリ文字列ルーチンの無効な使用 | 無効な引数での標準ライブラリ文字列関数の呼び出し |
const オブジェクトの移動操作 | 関数 std::move が const または const& を宣言したオブジェクトで呼び出される |
NULL ポインター | NULL ポインターのデリファレンス |
範囲外にアクセスするポインター | ポインターの範囲外でのデリファレンス |
スタック変数へのポインターまたは参照が範囲外 | ローカル変数を指すポインターが変数スコープを逸脱している |
異なる配列を指すポインター間の減算または比較 | 異なる配列を指すポインター間の減算または比較による未定義の動作の発生 |
関数ポインターの信頼性の低いキャスト | 関数ポインターの、引数または戻り値の型が異なる別の関数ポインターへのキャスト |
ポインターの信頼性の低いキャスト | 暗黙的に別のデータ型にキャストされるポインター |
putenv ファミリ関数の引数としての自動変数の使用 | putenv ファミリ関数の引数はスコープ外からアクセスできない |
最大バッファー サイズのチェックがないパス操作関数を使用しています | getwd または realpath の格納先バッファーが PATH_MAX バイトより小さい |
キャストに割り当てられた誤ったオブジェクト サイズ | 割り当てられたメモリが変換先のポインターに一致しない |
トピック
- Bug Finder 欠陥グループ
Bug Finder の欠陥チェッカーは、データ フロー、同時実行、数値などのグループに分類されています。