部分的にアクセスされる配列
スコープ終了前に部分的に読み取りまたは書き込みされる配列
説明
この欠陥は、配列スコープの終了前に配列が部分的に読み書きされた場合に発生します。関数に対しローカルな配列では、スコープの終了は関数の終了時に発生します。
リスク
部分的にアクセスされる配列は多くの場合、コードの欠落を示します。たとえば、ループを使用して配列を並べ替えるときに、ある配列要素を読み取ることができないループ反復回数を使用したとします。この実装では、配列が完全には並べ替えられない可能性があります。
修正方法
修正方法は欠陥の根本原因によって異なります。たとえば、ループの反復回数が不適切であることが根本原因の場合、ループの範囲を変更するかループの後にステップを追加して、読み取られていない要素または書き込まれていない要素にアクセスします。
以下の修正例を参照してください。
問題を修正しない場合は、改めてレビューされないように結果またはコードにコメントを追加します。詳細は、以下を参照してください。
Polyspace ユーザー インターフェイスでのバグ修正または正当化による結果への対処 (Polyspace ユーザー インターフェイスで結果をレビューする場合)。
Polyspace Access でのバグ修正または正当化による結果への対処 (Polyspace Access) (Web ブラウザーで結果をレビューする場合)。
コードへの注釈付けと既知の結果または許容可能な結果の非表示 (IDE で結果をレビューする場合)
例
結果情報
| グループ: データ フロー |
| 言語: C | C++ |
| 既定値: 手書きコードはオン、生成コードはオフ |
コマンド ライン構文: PARTIALLY_ACCESSED_ARRAY |
| 影響度: Low |
バージョン履歴
R2013b で導入