セキュア コーディング規約のコンフィギュレーション パラメーターをチェック
チェック ID: mathworks.security.CodeGenSettings
セキュア コーディング規約への準拠に影響する可能性のあるコンフィギュレーション パラメーターを特定します。
説明
このチェックの推奨事項に従うと、セキュア コーディング規約 CERT C、CWE、ISO/IEC TS 17961 に準拠するコードが生成される可能性が高くなります。
Embedded Coder® および Simulink® Check™ で使用できます。
結果と推奨アクション
| 条件 | 推奨アクション |
|---|---|
| 診断 | |
コンフィギュレーション パラメーター [Inf または NaN のブロックの出力] が コンフィギュレーション パラメーター [Inf または NaN のブロックの出力] が | [非有限数のサポート] に応じて次のようにします。
|
コンフィギュレーション パラメーター [Model Verification ブロックを有効にする] が [ローカル設定を使用] または [すべて有効] に設定されている。 | [Model Verification ブロックを有効にする] を [すべて無効] に設定します。 |
コンフィギュレーション パラメーター [指示のないイベント ブロードキャスト] が [なし] または [警告] に設定されている。 | [指示のないイベント ブロードキャスト] を [エラー] に設定します。 |
コンフィギュレーション パラメーター [オーバーフロー時にラップ] が [なし] に設定されている。 | [オーバーフロー時にラップ] を [警告] または [エラー] に設定します。 |
| ハードウェア実行 | |
コンフィギュレーション パラメーター [製品ハードウェアの符号付き整数の除算の丸め] が [未定義] に設定されている。 | [製品ハードウェアの符号付き整数の除算の丸め] を [ゼロ方向] または [負方向] に設定します。 |
| コンフィギュレーション パラメーター [算術シフトとして符号付き整数を右にシフト] が選択されている。 | [算術シフトとして符号付き整数を右にシフト] をオフにします。 |
| シミュレーション ターゲット | |
コンフィギュレーション パラメーター [コンパイル時の MATLAB 関数の再帰限界値] が 0 以外の値に設定されている。 | [コンパイル時の MATLAB 関数の再帰限界値] を 0 に設定します。 |
| コンフィギュレーション パラメーター [MATLAB 関数での動的メモリ割り当て] が選択されている。 | [MATLAB 関数での動的メモリ割り当て] をオフにします。 |
| コンフィギュレーション パラメーター [MATLAB 関数の実行時再帰を有効にする] が選択されている。 | [MATLAB 関数の実行時再帰を有効にする] をオフにします。 |
| コード生成 | |
コンフィギュレーション パラメーター [コード置換ライブラリ] が [なし] または [AUTOSAR 4.x] に設定されていない。 | [コード置換ライブラリ] を [なし] または [AUTOSAR 4.x] に設定します。 |
| コンフィギュレーション パラメーター [エクスターナル モード] が選択されている。 | [エクスターナル モード] をオフにします。 |
コンフィギュレーション パラメーター [コメントを含める] がオフになっている。 | [コメントを含める] を選択します。 |
| コンフィギュレーション パラメーター [MAT ファイルのログ] が選択されている。 | [MAT ファイルのログ] をオフにします。 |
| ERT ベースのターゲット システムで、コンフィギュレーション パラメーター [MATLAB ユーザー コメント] がオフになっている。 | [MATLAB ユーザー コメント] を選択します。 |
| コンフィギュレーション パラメーター [2 のべき乗での乗算を符号付きのビット単位シフトに置換] が選択されている。 | [2 のべき乗での乗算を符号付きのビット単位シフトに置換] をオフにします。 |
| ERT ベースのターゲット システムで、コンフィギュレーション パラメーター [連続時間のサポート] が選択されている。 | [連続時間のサポート] をオフにします。 |
| ERT ベースのターゲット システムで、コンフィギュレーション パラメーター [インラインでない S-Function のサポート] が選択されている。 | [インラインでない S-Function のサポート] をオフにします。 |
| コンフィギュレーション パラメーター [システム ターゲット ファイル] が GRT ベースのターゲットに設定されている。 | [システム ターゲット ファイル] を ERT ベースのターゲットに設定します。 |
| コンフィギュレーション パラメーター [モデルの初期化に動的メモリ割り当てを使用] が選択されている。 | [モデルの初期化に動的メモリ割り当てを使用] をオフにします。 メモ [コード インターフェイスのパッケージ化] が |
アクション結果
[すべて変更] をクリックすると、パラメーター値が推奨値に変わります。
メモ
GRT ベースのターゲットが設定されたモデルに対して [すべて変更] をクリックした場合、モデル アドバイザーは [システム ターゲット ファイル] コンフィギュレーション パラメーターを ERT ベースのシステムに更新しません。
パラメーター サブチェックは、結果テーブルで "D" が付いたパラメーターの結果によって異なります。結果が "D-Warning" である場合、結果テーブルの [現在の値] 列には、そのサブチェックに対して "前提条件の制約を満たしていません" と示されます。パラメーターの変更後、チェックを再実行します。
メモ
一部のサブチェックは ERT ベース システムのコンフィギュレーション パラメーターに固有です。モデルを ERT ベース システムに変更しない限り、これらのパラメーターは [すべて変更] をクリックしても更新されません。
参考
MISRA C (Embedded Coder)