AUTOSAR C++14 Rule M18-0-5
R2026bThe unbounded functions of library <cstring> shall not be used
説明
The unbounded functions of library <cstring> shall not be used.
根拠
ライブラリ <cstring> に含まれている非有界の関数は、バッファーに対して読み取りや書き込みを行う際に、バッファーの範囲をチェックしません。そのため、バッファーの末尾より先にアクセスすることになります。これは未定義の動作です。バッファーの末尾より先を読み取る関数には、strcpy、strcmp、strcat、strchr、strspn、strcspn、strpbrk、strrchr、strstr、strtok、strlen があります。
Polyspace 実装
コード内で以下のいずれかの名前が使用されている場合、Polyspace® は違反を報告します。
strcpystrcmpstrcatstrchrstrspnstrcspnstrpbrkstrrchrstrstrstrtokstrlen
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: 言語サポート ライブラリ |
| カテゴリ: Required、Automated |
PQL 名: std.autosar_cpp14.M18_0_5 |
バージョン履歴
R2019a で導入