動的メモリの欠陥
動的メモリのコーディング エラーに関する欠陥、解放したポインター、メモリ リーク、保護されていないメモリ
これらの欠陥は、メモリが動的に割り当てられた場合のメモリ使用法に関係するエラーです。欠陥には次のものがあります。
動的に割り当てられたメモリの解放
保護されていないメモリ割り当て
Polyspace 結果
メモリの再割り当て後に変更されたアライメント | メモリの再割り当てによるオブジェクトの元の厳密なアライメントの変更 |
以前に割り当て解除したポインターの解放 | 割り当てなしで複数回解放されているメモリ |
ポインターの無効な解放 | 対応する動的割り当てのないポインターの割り当て解除 |
ポインターの無効な削除 | new を使用して対応する割り当てを行っていないポインターに対して delete を使用して割り当てを解除する |
メモリ リーク | 動的に割り当てられたメモリが解放されない |
Windows での関数 alloc と関数 dealloc の不一致 | 不適切な割り当て解除関数がメモリ破損問題を引き起こす |
保護されていない動的メモリ割り当て | 動的割り当てから返されるポインターに対して NULL または nullptr の値のチェックが行われない |
前に解放したポインターの使用 | 割り当て解除後のメモリ アクセス |
トピック
- Bug Finder 欠陥グループ
Bug Finder の欠陥チェッカーは、データ フロー、同時実行、数値などのグループに分類されています。