メインコンテンツ

セキュア コーディング規約のコンフィギュレーション パラメーターをチェック

チェック ID: mathworks.security.CodeGenSettings

セキュア コーディング規約への準拠に影響する可能性のあるコンフィギュレーション パラメーターを特定します。

説明

このチェックの推奨事項に従うと、セキュア コーディング規約 CERT C、CWE、ISO/IEC TS 17961 に準拠するコードが生成される可能性が高くなります。

Embedded Coder® および Simulink® Check™ で使用できます。

結果と推奨アクション

条件推奨アクション
診断

コンフィギュレーション パラメーター [Inf または NaN のブロックの出力][なし] または [エラー] に設定され、[非有限数のサポート][オン] に設定されている。

コンフィギュレーション パラメーター [Inf または NaN のブロックの出力][なし] に設定され、[非有限数のサポート][オフ] に設定されている。

[非有限数のサポート] に応じて次のようにします。

  • [オン] の場合、[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)