このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
正でないサイズの可変長配列
可変長配列のサイズがゼロか負である
説明
この欠陥は、可変長配列のサイズがゼロか負である場合に発生します。
リスク
可変長配列のサイズがゼロか負である場合、スタック オーバーフローなど、予期しない動作が発生することがあります。
修正方法
可変長配列を関数のローカル変数として宣言する際に、次のようにします。
関数パラメーターを配列サイズとして使用する場合は、そのパラメーターが正であることをチェックする。
関数パラメーターでの計算結果を配列サイズとして使用する場合は、その結果が正であることをチェックする。
正の値かどうかのテストは、関数呼び出しの前か、関数本体の配列の宣言の前に配置できます。
例
結果情報
グループ: プログラミング |
言語: C | C++ |
既定値: 手書きコードはオン、生成コードはオフ |
コマンド ライン構文: NON_POSITIVE_VLA_SIZE |
影響度: High |
バージョン履歴
R2015b で導入