メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

静的メモリの欠陥

静的メモリのコーディング エラーに関する欠陥、範囲外の配列、null ポインター、標準メモリおよび文字列ライブラリ

これらの欠陥は、メモリが静的に割り当てられた場合のメモリ使用法に関係するエラーです。欠陥には次のものがあります。

  • 配列の境界外へのアクセス

  • null ポインター

  • ポインターのキャスト

Polyspace 結果

NULL ポインターを使用した算術演算NULL ポインターに対し実行された算術演算
配列が範囲外にアクセス配列へのアクセス中に範囲外となる配列のインデックス
無効な文字列形式指定子によるバッファー オーバーフロー文字列形式指定子により標準ライブラリ関数のバッファー引数でオーバーフローが発生
文字列操作で格納先バッファーがオーバーフローしています関数がバッファー サイズより大きいオフセットでバッファーに書き込む
文字列操作で格納先バッファーがアンダーフローしています関数がバッファーの先頭から負のオフセットでバッファーに書き込む
標準ライブラリ メモリ ルーチンの無効な使用無効な引数での標準ライブラリ メモリ関数の呼び出し
標準ライブラリ文字列ルーチンの無効な使用無効な引数での標準ライブラリ文字列関数の呼び出し
const オブジェクトの移動操作関数 std::moveconst または const& を宣言したオブジェクトで呼び出される
NULL ポインターNULL ポインターのデリファレンス
範囲外にアクセスするポインターポインターの範囲外でのデリファレンス
スタック変数へのポインターまたは参照が範囲外ローカル変数を指すポインターが変数スコープを逸脱している
異なる配列を指すポインター間の減算または比較異なる配列を指すポインター間の減算または比較による未定義の動作の発生
関数ポインターの信頼性の低いキャスト関数ポインターの、引数または戻り値の型が異なる別の関数ポインターへのキャスト
ポインターの信頼性の低いキャスト暗黙的に別のデータ型にキャストされるポインター
putenv ファミリ関数の引数としての自動変数の使用putenv ファミリ関数の引数はスコープ外からアクセスできない
最大バッファー サイズのチェックがないパス操作関数を使用していますgetwd または realpath の格納先バッファーが PATH_MAX バイトより小さい
キャストに割り当てられた誤ったオブジェクト サイズ割り当てられたメモリが変換先のポインターに一致しない

トピック

  • Bug Finder 欠陥グループ

    Bug Finder の欠陥チェッカーは、データ フロー、同時実行、数値などのグループに分類されています。