此版本包括以下增强功能:
发布日期:2022 年 6 月 22 日
增强 Automotive Compliance Pack
我们扩展了 Automotive Pack 来帮助您遵循相关汽车标准。
MISRA C:2012 Technical Corrigendum 2 更新
我们更新了 MISRA C 2012 规则集、测试配置和合规性报告,以反映 MISRA C:2012 Technical Corrigendum 2 中的变化。
增强 Security Compliance Pack
我们扩展了 Security Pack,帮助您遵循相关安全标准。
新增 DISA ASD STIG 合规性规则集
我们添加了新的 DISA ASD STIG 规则集,以遵循相关 DISA STIG 安全标准。为使用新规则集,已更新现有 DISA-ASD-STIG 测试配置。
增强静态分析
我们增强了流分析引擎,从而更好地支持 Modern C++ 构造,包括 unique_ptr
、shared_ptr
、auto_ptr
和 weak_ptr
等智能指针。针对智能指针语义理解的改进能够精确跟踪资源使用情况,并提高报告任务的质量和准确性。
平台支持
C/C++test 现在支持 Windows 11。
编译器支持
我们添加了对以下编译器的支持:
编译器名称 | 编译器标识符 |
---|---|
GNU GCC 10.x (x86_64) | gcc_10-64 |
GNU GCC 11.x (x86_64) | gcc_11-64 |
Microsoft Visual C++ 14.3 | vc_14_3 |
Microsoft Visual C++ 14.3 (x64) | vc_14_3-64 |
Qualcomm Hexagon Clang 8.4 | hexagon-clang_8_4 |
Synopsys Metaware ARC 2020.06 | ccac_2020_06 |
Tasking TriCore 4.2 | vxtc_4_2 |
Tasking TriCore 6.3 | vxtc_6_3 |
新增和更新的代码分析规则
我们添加了新的静态分析规则来扩展编码标准的覆盖范围。有关新增规则和更新规则的列表,请参阅新增规则和更新规则。
新增和更新的测试配置
我们更新了以下测试配置:
- AUTOSAR C++14 Coding Guidelines
- CWE Top 25 + On the Cusp 2019
- CWE Top 25 2019
- DISA-ASD-STIG
- Flow Analysis Aggressive
- Flow Analysis Fast
- Flow Analysis Standard
- High Integrity C++
- MISRA C 2004
- MISRA C 2012
- MISRA C++ 2008
- SEI CERT C Guidelines
- SEI CERT C Rules
- SEI CERT C++ Rules
命令行界面的更改
- 我们添加了一个新的命令行标志“-property”,它允许您直接在命令行中指定额外的配置设置。请参阅 cli 选项。
- “-localsettings”命令行标志已重命名为“-settings”。请参阅 cli 选项。
许可
此版本需要更新许可证密钥。
升级到 2022.1 可能会导致 Windows 。在向 Parasoft 申请新的许可证之前,请验证您的机器码。有关验证机器码的信息,请参阅在 GUI 中设置本地许可证。
详情请联系您的 Parasoft 代表。
其他变更
- 现已支持在基于 IDE 的工作流中使用 Azure AD 进行 OIDC 身份验证。请参阅在 GUI 中配置 OpenID Connect。
- 现已支持在基于命令行的工作流中使用设备代码进行 OIDC 身份验证。请参阅在命令行中配置 OpenID Connect。
- 现已支持 IPv6。
- 不再支持许可证服务器的 TCP 连接类型。使用 TCP 连接类型的旧许可证服务器应切换为 HTTP/S。有关 HTTP/S 连接(而非 TCP)使用的设置详情,请参阅在 GUI 中设置网络许可证或许可设置(命令行选项)。
弃用和删除的支持
删除的 IDE 支持
现已删除对以下 IDE 的支持:
- Visual Studio 2012
- Visual Studio 2013
删除的编译器支持
现已删除对以下编译器的支持:
- Microsoft Visual C++ 9.0
- Microsoft Visual C++ 9.0 (x64)
- Microsoft Visual C++ 10.0
- Microsoft Visual C++ 10.0 (x64)
删除的功能
- 已删除弃用的抑制视图。如果在 IDE 中“抑制”视图打开时升级 C/C++test,则可能需要在升级后手动关闭该视图。
- 不再支持将报告发布到团队服务器以及从团队服务器导入报告。
弃用的功能
- 现已弃用以下团队服务器功能:
- 在团队服务器上存储测试配置、规则和规则映射
- 在 IDE 的图形编辑器中编辑团队服务器测试配置
- 全局目标管理
- 在团队服务器上重新分配作者
解决的 Bug 和 FR
Bug/FR ID | 说明 |
---|---|
CPP-36108 | [coverage] 为模板函数内部定义的类和 lambda 添加代码覆盖率 |
CPP-48321 | [engine][EDG] 错误:包扩展不使用任何参数包 |
CPP-48585 | [engine][EDG] 插桩错误 "std::enable_if<false, void>" 没有 ASIO 库的成员 "type" |
CPP-49194 | [static] FORMAT-11 针对引用声明误报 |
CPP-49198 | [static] GLOBAL-ONEUSEVAR (AUTOSAR-M0_1_4-a) 对头文件中 const 变量报告违规 |
CPP-49658 | [ide] 在“C/C++高级设置”中导入不正确的路径时没有验证消息 |
CPP-49695 | [static] CODSTA-119 (MISRA2012-RULE-16_4_b) 在带有注释的代码块后有 break 时误报 |
CPP-49701 | [static] AUTOSAR-A11_3_1-a 误报 |
CPP-49704 | [engine][EDG] 类内字段初始化器的 initializer_range 不正确(使用常量值初始化时?) |
CPP-49715 | [engine][EDG] 错误:类 "std::__2::enable_if<false, bool>" 没有成员 "type" |
CPP-49766 | [static] AUTOSAR-A7_1_7-a:误报 |
CPP-49767 | [static] MISRA2004-16_7 在数组的指针元素作为非 const 指针传递时误报 |
CPP-49768 | [engine][EDG] 错误:类型为 "std::pair<DataAccess::Common::Geometry::TCoordScaleNDS::TBaseType, DataAccess::Common::Geometry::TCoordScaleNDS::TBaseType> &"(非 const 限定)的引用无法使用值初始化 |
CPP-49773 | [rulewizard] 对于在模板类外部定义的静态成员,'Class' 节点的 'Body' 属性无法正常工作 |
CPP-49777 | [compiler] 改进 tiarm 编译器的 --relaxed_ansi 选项处理 |
CPP-49779 | [compiler] 添加对 tiarm_18_2 的 __builtin_addressof 支持 |
CPP-49808 | [engine] cpptestcc 编译错误:标签 â€anonymous__CPTR_0’ 已使用但未定义 |
CPP-49847 | [rulewizard] static_cast 在按位复制初始化的复制省略中被检测为普通的强制类型转换 |
CPP-49854 | [static] 当根据 & 位运算符确保位数时,MISRA2004-12_8 不应进行报告 |
CPP-49857 | [static] MISRA2004-16_10 (AUTOSAR-M0_3_2-a) 对重载赋值运算符误报 |
CPP-49867 | [static] OPT-41 应在 Windows 系统中检查文件名是否不区分大小写 |
CPP-49868 | [engine][EDG] 内部错误:断言失败: "scope_stk.c", line 10905 in get_enclosing_template_params_and_args |
CPP-49889 | [engine] 当例程有 VLA 参数时,测试用例数据生成出错 |
CPP-49908 | [docs] 修复 OIDC 设置的文档 |
CPP-49909 | [rulewizard] 初始化聚合体内部的非聚合体时,函数式强制类型转换被检测为 C 风格强制类型转换 |
CPP-49949 | [static] IndexError:列表索引超出 SECURITY-14 范围 |
CPP-49950 | [static] C++Test 输出在第二次运行时不显示错误 |
CPP-49966 | [static] COMMENT-14 在自己的内部过程中出错时失败 |
CPP-49984 | [rulewizard] 错误地检测到由 const 类类型实例化的模板特化函数中的类 |
CPP-49991 | [static] 访问 volatile 对象时,MISRA2004-12_4_a (MISRAC2012-RULE_13_5-a) 不报告违规 |
CPP-49993 | [ide] 测试用例编辑器中缺少部分断言宏 |
CPP-49994 | [static] AUTOSAR-M0_1_3-a(OPT-02) 无法正确解析 C++17 中的结构化绑定 |
CPP-50002 | [EDG] 错误:操作数类型不兼容 |
CPP-50061 | [compiler] renrx 和 gcc:优化会更改普通 'char' 类型符号属性的编译器选项的配置 |
CPP-50062 | [static] AUTOSAR-M5_0_4-a 误报 |
CPP-50087 | [ide] 创建新的测试配置会启用某些未选择的指标 |
CPP-50089 | [compiler] 使用 TIC 编译器时,如果项目路径包含空格,LSI 将会失败 |
CPP-50100 | [static] AUTOSAR-A12_1_1-a 误报 |
CPP-50103 | [static] AUTOSAR-M3_4_1-a:误报 |
CPP-50106 | [rulewizard] 模板函数的未命名参数未与代码中的正确行连接 |
CPP-50107 | [static] MISRA2004-14_1_b 在函数中 extern 数组声明后使用 return 语句时误报 |
CPP-50108 | [static] 改进 AUTOSAR-A2-13-1 的映射 |
CPP-50110 | [static] FORMAT-25 由于不支持 sizeof... 运算符而误报 |
CPP-50111 | [ide] 指向符号链接文件时,C/C++test Professional 找不到 IAppFile |
CPP-50113 | [static] HICPP-5_8_1-a (AUTOSAR-A5_16_1-a) 针对用作单独表达式的条件运算符误报 |
CPP-50123 | [static ] CODSTA-CPP-101 (AUTOSAR-A13_2_3-a) 针对模板转换运算符误报 |
CPP-50125 | [static] EXCEPT-22 在调用具有 @throw 说明的模板函数时误报 |
CPP-50128 | [static] EXCEPT-14 (AUTOSAR-A15_5_3-h) 在 try-catch 代码块中的函数内部捕获异常时误报 |
CPP-50134 | [static] AUTOSAR-A15_4_5-a 误报 |
CPP-50139 | [static] MISRA2004-14_1_f (AUTOSAR-M0_1_1-e) 在 'catch' 代码块中使用 'return' 语句时误报 |
CPP-50148 | [static] 改进 AUTOSAR-M12-1-1 的映射 |
CPP-50149 | [static] CODSTA-CPP-78 (AUTOSAR-M9_3_3-a) 在修改非 const 函数的 lambda 表达式中捕获的 'this' 时误报 |
CPP-50168 | [engine][EDG] cpptestcc 插桩编译错误:不允许不完整的类型 |
CPP-50171 | [static] 优化 CERT_C-PRE31 的映射 |
CPP-50181 | [coverage] 对于较长的方法名,“覆盖率概要”列不齐,影响报告可读性 |
CPP-50209 | [compiler] VC++ 2017(及更新版本):增加对 /external 选项的支持 |
CPP-50220 | [vscode] 优化在同一行中显示多个违规的抑制(快速修复) |
CPP-50234 | [static] FORMAT-06 (AUTOSAR-A7_1_7-a) 在语句内部使用多行 C 风格注释时误报 |
CPP-50235 | [static] EXCEPT-08 (AUTOSAR-M15_3_1-a/AUTOSAR-A15_5_3-f) 在调用 constexpr 函数时误报 |
CPP-50236 | [static] MISRA2004-9_2_c (AUTOSAR-M8_5_2-c) 在初始化具有静态 const 变量的结构时误报 |
CPP-50246 | [static] CODSTA-MCPP-04 (AUTOSAR-A4_10_1-b) 在将常量为 '0' 的 'new' 分配给指针时误报 |
CPP-50255 | [engine][EDG] cpptestcc 内部错误:断言失败:gen_paren_or_brace_dynamic_init: bad kind (cp_gen_be.c, line 22147 in gen_paren_or_brace_dynamic_init) |
CPP-50260 | [static] TEMPL-12 (AUTOSAR-M14_6_1-a) 在从非依赖基类隐式调用函数时误报 |
CPP-50263 | [static] MISRA2004-8_4 内部错误(仅限 zh_CN) |
CPP-50272 | [coverage] 通过增量构建(GNU/clang 编译器;Ninja/Make 生成器)改进 Cmake 的覆盖率集成 |
CPP-50281 | [static] MISRAC2012-RULE_17_7-a 的不一致行为 |
CPP-50296 | [static] HICPP-18_2_4-a 针对不是双重检查锁定的模式误报 |
CPP-50312 | [engine] 如果使用 cpptesttrace,GNU make 会泄漏文件描述符 |
CPP-50360 | [static] COMMENT-14_b (AUTOSAR-A2_7_3-b) 应忽略 @param 标记注释中的 [in]、[out] 和 [in,out] |
CPP-50361 | [static] MISRA2004-14_1_a (HICPP-1_2_1-a) 在 'if' 条件包含依赖于模板类型的枚举常量时误报 |
CPP-50387 | [static] OPT-32 (AUTOSAR-M0_1_8-a) 在函数包含对具有副作用的构造函数的隐式调用时误报 |
CPP-50397 | [static][更改输出消息] CODSTA-178 (MISRAC2012-RULE_5_1-a) - 从输出消息中删除行号 |
CPP-50398 | [RuleWizard] RuleWizard a(b) 代码块与内建函数__builtin_choose_expr() 不匹配 |
CPP-50419 | [static] MISRA2004-5_2_b(MISRA2008-2_10_2_b) 误报不相关的枚举类标识符 |
CPP-50467 | [static] CODSTA-122_a (CERT_C-ERR33-a) 在三元运算符的条件中使用函数调用时误报 |
CPP-50565 | STL-23 (HICPP-17_5_1-a) 在 'remove_if' 函数的结果用作调用 'erase' 的参数时误报 |
CPP-50586 | [EDG] 类模板参数推断时,断言在 "overload.c" 失败 |
CPP-50695 | 无法使用 "-f" 编译器选项成功运行静态分析 |
FA-7833 | BD-RES-LEAKS 针对智能指针管理的资源误报 |
FA-8047 | BD-PB-NP 漏报 |
FA-8531 | 优化 BD-PB-VOVR 规则的文档 |
FA-8562 | BD-PB-NOTINIT 针对嵌套匿名结构误报 |
FA-8625 | BD-PB-OVERFNZT 由于 memcpy 使第一个参数再次非零终止而误报违规 |
FA-8696 | 优化 BD-TRS-DIFCS 规则的文档 |
FA-8697 | BD-RES-LEAKS 漏报 |
FA-8701 | Flow Analysis 对 void* 指向的未知缓冲区的大小使用了不正确的假设 |
FA-8736 | 因读取导致的 BD-PB-CC 误报 |
FA-8739 | BD.PB.ARRAY 误报 |
FA-8774 | BD-API-VALPARAM 由于变量的平方值不能 < 0 而误报 |
FA-8792 | BD-PB-VALRANGE 误报 |
FA-8824 | BD.SECURITY.TDALLOC 可能漏报 |
FA-8839 | BD-PB-NP 由于 FA 不理解 shared_ptr 语义而漏报。 |
FA-8853 | BD-PB-CC 由于 Flow Analysis 没有完全考虑 fgets 会改变缓冲区内容而误报 |
FA-8884 | 增量运行中缺少 BD-TRS-MLOCK 违规 |
FA-8901 | MISRAC2012-DIR_4_11-a (BD-API-VALPARAM) 误报 |
FA-8910 | 在变量仅用于计算常数值时,BD-PB-VOVR 误报 |
新增规则
规则 ID | 标题 |
---|---|
APSC_DV-000160-a | 请勿使用弱加密函数 |
APSC_DV-000170-a | 请勿使用弱加密函数 |
APSC_DV-000480-a | 防止 SQL 注入 |
APSC_DV-000500-a | 在放弃特权时遵守正确的撤销命令 |
APSC_DV-000650-a | 不要将应用程序错误导致的潜在敏感信息打印到异常消息中 |
APSC_DV-001290-a | 防止 SQL 注入 |
APSC_DV-001290-b | 不受信的数据被用作循环边界 |
APSC_DV-001290-c | 避免将用户的输入作为参数传递给方法 |
APSC_DV-001290-d | 避免使用可能受到 shell 元字符影响的不安全 shell 函数 |
APSC_DV-001300-a | 防止 SQL 注入 |
APSC_DV-001740-a | 避免将敏感数据传递给写日志文件的函数 |
APSC_DV-001750-a | 避免将敏感数据传递给写日志文件的函数 |
APSC_DV-001850-a | 避免将敏感数据传递给写日志文件的函数 |
APSC_DV-001860-a | 请勿使用弱加密函数 |
APSC_DV-001995-a | 使用 fork 和文件描述符时避免竞争条件 |
APSC_DV-001995-b | 在检查符号链接是否存在时避免竞争条件 |
APSC_DV-001995-c | 避免访问文件的资源竞争 |
APSC_DV-001995-d | 在修改位域时使用锁来防止竞争条件 |
APSC_DV-001995-e | 不要使用具有不同的锁集的全局变量 |
APSC_DV-001995-f | 避免使用对线程不安全的函数 |
APSC_DV-001995-g | 不允许使用容易发生竞争的函数 |
APSC_DV-001995-h | 避免使用 'vfork()' 函数 |
APSC_DV-001995-i | 正确定义信号处理程序 |
APSC_DV-002000-a | 确保资源已释放 |
APSC_DV-002010-a | 请勿使用弱加密函数 |
APSC_DV-002290-a | 不要使用 rand() 函数来生成伪随机数 |
APSC_DV-002290-b | 在伪随机数生成器中指定适当的种子 |
APSC_DV-002290-c | 不应该使用 'random_shuffle' 标识符 |
APSC_DV-002290-d | 避免使用标准 C 库中随机数的函数 |
APSC_DV-002350-a | 请勿使用弱加密函数 |
APSC_DV-002390-a | 在 libxerces-c 中禁用解析 XML 外部实体 (XXE) |
APSC_DV-002390-b | 不以本机方式处理结构化文本数据 |
APSC_DV-002390-c | 不要在不指定可变大小的格式字符串的情况下使用 scanf 和 fscanf 函数 |
APSC_DV-002390-d | 不要使用 mbstowcs() 函数 |
APSC_DV-002400-a | 从格式字符串中排除未经净化的用户输入 |
APSC_DV-002400-b | 使用 'std::atexit()' 或 'std::at_quick_exit()' 注册函数的执行不应异常退出 |
APSC_DV-002400-c | 避免使用 'vfork()' 函数 |
APSC_DV-002400-d | 避免使用对线程不安全的函数 |
APSC_DV-002440-a | 避免将敏感数据传递给写日志文件的函数 |
APSC_DV-002460-a | 避免将敏感数据传递给写日志文件的函数 |
APSC_DV-002470-a | 避免将敏感数据传递给写日志文件的函数 |
APSC_DV-002480-a | 不要将应用程序错误导致的潜在敏感信息打印到异常消息中 |
APSC_DV-002510-a | 防止命令注入 |
APSC_DV-002520-a | 防止环境注入 |
APSC_DV-002520-b | 防止文件名注入 |
APSC_DV-002520-c | 防止 SQL 注入 |
APSC_DV-002520-d | 禁止使用来自不受信任用户的未经过滤的数据作为格式化参数 |
APSC_DV-002520-e | 避免在数组索引中有受污染数据 |
APSC_DV-002520-f | 避免污点数据可能出现的整数上溢/下溢 |
APSC_DV-002520-g | 避免将未经验证的二进制数据传递给日志方法 |
APSC_DV-002520-h | 防止命令注入 |
APSC_DV-002520-i | 避免在输出控制台打印受污染的数据 |
APSC_DV-002520-j | 从格式字符串中排除未经净化的用户输入 |
APSC_DV-002520-k | 不受信的数据被用作循环边界 |
APSC_DV-002530-a | 防止环境注入 |
APSC_DV-002530-b | 防止文件名注入 |
APSC_DV-002530-c | 防止 SQL 注入 |
APSC_DV-002530-d | 禁止使用来自不受信任用户的未经过滤的数据作为格式化参数 |
APSC_DV-002530-e | 避免在数组索引中有受污染数据 |
APSC_DV-002530-f | 避免污点数据可能出现的整数上溢/下溢 |
APSC_DV-002530-g | 避免将未经验证的二进制数据传递给日志方法 |
APSC_DV-002530-h | 防止命令注入 |
APSC_DV-002530-i | 避免在输出控制台打印受污染的数据 |
APSC_DV-002530-j | 从格式字符串中排除未经净化的用户输入 |
APSC_DV-002530-k | 不受信的数据被用作循环边界 |
APSC_DV-002540-a | 防止 SQL 注入 |
APSC_DV-002550-a | 防止环境注入 |
APSC_DV-002550-b | 防止文件名注入 |
APSC_DV-002550-c | 防止 SQL 注入 |
APSC_DV-002550-d | 禁止使用来自不受信任用户的未经过滤的数据作为格式化参数 |
APSC_DV-002550-e | 避免在数组索引中有受污染数据 |
APSC_DV-002550-f | 避免污点数据可能出现的整数上溢/下溢 |
APSC_DV-002550-g | 避免将未经验证的二进制数据传递给日志方法 |
APSC_DV-002550-h | 防止命令注入 |
APSC_DV-002550-i | 避免在输出控制台打印受污染的数据 |
APSC_DV-002550-j | 从格式字符串中排除未经净化的用户输入 |
APSC_DV-002550-k | 不受信的数据被用作循环边界 |
APSC_DV-002560-a | 防止环境注入 |
APSC_DV-002560-b | 防止文件名注入 |
APSC_DV-002560-c | 防止 SQL 注入 |
APSC_DV-002560-d | 禁止使用来自不受信任用户的未经过滤的数据作为格式化参数 |
APSC_DV-002560-e | 避免在数组索引中有受污染数据 |
APSC_DV-002560-f | 避免污点数据可能出现的整数上溢/下溢 |
APSC_DV-002560-g | 避免将未经验证的二进制数据传递给日志方法 |
APSC_DV-002560-h | 防止命令注入 |
APSC_DV-002560-i | 避免在输出控制台打印受污染的数据 |
APSC_DV-002560-j | 从格式字符串中排除未经净化的用户输入 |
APSC_DV-002560-k | 不受信的数据被用作循环边界 |
APSC_DV-002570-a | 避免将敏感数据传递给写日志文件的函数 |
APSC_DV-002570-b | 不要将应用程序错误导致的潜在敏感信息打印到异常消息中 |
APSC_DV-002590-a | 避免由于定义不正确的格式限制而导致缓冲区溢出 |
APSC_DV-002590-b | 避免由于读取非零终止字符串而导致的溢出 |
APSC_DV-002590-c | 避免读取缓冲区时导致的溢出 |
APSC_DV-002590-d | 避免写入缓冲区时导致的溢出 |
APSC_DV-002590-e | 避免整数溢出 |
APSC_DV-002590-f | 防止来自受污染数据的缓冲区溢出 |
APSC_DV-002590-g | 避免污点数据可能出现的整数上溢/下溢 |
APSC_DV-002590-h | 避免由于定义不正确的格式限制而导致受污染数据的缓冲区溢出 |
APSC_DV-002590-i | 避免来自受污染数据的缓冲区读取溢出 |
APSC_DV-002590-j | 避免来自受污染数据的缓冲区写入溢出 |
APSC_DV-002590-k | 使用路径操作函数时确保输出缓冲区足够大 |
APSC_DV-003110-a | 不要硬编码字符串字面量 |
APSC_DV-003235-a | 避免将未经验证的二进制数据传递给日志方法 |
APSC_DV-003235-b | 避免将敏感数据传递给写日志文件的函数 |
AUTOSAR-M12_1_1-b | 不要使用正在销毁的对象的动态类型 |
BD-PB-MEMOPT | 避免调用可以由编译器优化的内存设置函数 |
BD-PB-PATHBUF | 使用路径操作函数时确保输出缓冲区足够大 |
BD-SECURITY-SENSFREE | 释放之前清除敏感数据 |
BD-SECURITY-TDLOOP | 在用于循环的控制表达式之前验证可能被污染的数据 |
CERT_C-MEM03-a | 释放之前清除敏感数据 |
CERT_C-MSC06-a | 避免调用可以由编译器优化的内存设置函数 |
CODSTA-108_b | 不应使用指定为由 tgmath.h 提供的设施 |
CODSTA-224 | 不应将条件运算符用作子表达式 |
CODSTA-CPP-60_b | 应仅使用 ISO/IEC 14882:2014 中定义的转义序列 |
CODSTA-MCPP-55 | 使用 std::call_once 而不是双重检查锁定模式 |
CWE-119-k | 使用路径操作函数时确保输出缓冲区足够大 |
CWE-787-g | 使用路径操作函数时确保输出缓冲区足够大 |
MISRA2004-16_8_b | 除 main() 外,具有非 void 返回类型的函数的所有退出路径都应具有带有表达式的显式 return 语句 |
MISRA2008-12_1_1_b | 不要使用正在销毁的对象的动态类型 |
MISRA2012-RULE-17_4_b | 除 main() 外,具有非 void 返回类型的函数的所有退出路径都应具有带有表达式的显式 return 语句 |
MISRA2012-RULE-21_11_b | 不应使用指定为由 tgmath.h 提供的设施 |
MISRAC2012-RULE_17_4-b | 除 main() 外,具有非 void 返回类型的函数的所有退出路径都应具有带有表达式的显式 return 语句 |
MISRAC2012-RULE_21_11-b | 不应使用指定为由 tgmath.h 提供的设施 |
OOP-11_b | 除了比较运算符的声明外,不得使用友元声明 |
更新规则
类别 ID | 规则 ID |
---|---|
AUTOSAR C++14 编码指南 | AUTOSAR-A0_1_1-a, AUTOSAR-A0_4_4-a, AUTOSAR-A11_3_1-a, AUTOSAR-A12_1_1-a, AUTOSAR-A12_8_3-a, AUTOSAR-A13_2_3-a, AUTOSAR-A15_0_2-a, AUTOSAR-A15_1_4-a, AUTOSAR-A15_4_5-a, AUTOSAR-A15_5_3-f, AUTOSAR-A15_5_3-h, AUTOSAR-A16_2_2-a, AUTOSAR-A18_1_1-a, AUTOSAR-A18_9_4-a, AUTOSAR-A23_0_2-a, AUTOSAR-A26_5_2-a, AUTOSAR-A27_0_1-g, AUTOSAR-A27_0_1-h, AUTOSAR-A27_0_2-a, AUTOSAR-A27_0_2-b, AUTOSAR-A2_10_1-b, AUTOSAR-A2_13_1-a, AUTOSAR-A2_7_3-a, AUTOSAR-A3_3_1-a, AUTOSAR-A4_10_1-b, AUTOSAR-A5_16_1-a, AUTOSAR-A5_2_5-a, AUTOSAR-A5_2_5-c, AUTOSAR-A5_3_2-a, AUTOSAR-A5_6_1-a, AUTOSAR-A7_1_7-a, AUTOSAR-A7_6_1-a, AUTOSAR-A8_4_2-a, AUTOSAR-A8_5_0-a, AUTOSAR-M0_1_1-b, AUTOSAR-M0_1_1-e, AUTOSAR-M0_1_2-ac, AUTOSAR-M0_1_3-a, AUTOSAR-M0_1_4-a, AUTOSAR-M0_1_8-a, AUTOSAR-M0_3_1-b, AUTOSAR-M0_3_1-d, AUTOSAR-M0_3_1-e, AUTOSAR-M0_3_1-f, AUTOSAR-M0_3_1-g, AUTOSAR-M0_3_2-a, AUTOSAR-M12_1_1-a, AUTOSAR-M14_6_1-a, AUTOSAR-M15_3_1-a, AUTOSAR-M3_4_1-a, AUTOSAR-M5_0_16-a, AUTOSAR-M5_0_16-b, AUTOSAR-M5_14_1-a, AUTOSAR-M5_8_1-a, AUTOSAR-M7_1_2-b, AUTOSAR-M7_3_1-a, AUTOSAR-M8_5_2-c, AUTOSAR-M9_3_3-a |
流分析 | BD-API-VALPARAM, BD-CO-ITMOD, BD-CO-ITOUT, BD-MISC-DC, BD-PB-ARRAY, BD-PB-CC, BD-PB-INVRET, BD-PB-NORETURN, BD-PB-NOTINIT, BD-PB-NP, BD-PB-OVERFNZT, BD-PB-OVERFWR, BD-PB-OVERFZT, BD-PB-OVERLAP, BD-PB-PTRARR, BD-PB-SUBSEQ, BD-PB-SUBSEQFRWD, BD-PB-SUBSEQMOVE, BD-PB-VALRANGE, BD-PB-VCTOR, BD-PB-VDTOR, BD-PB-VOVR, BD-PB-ZERO, BD-RES-LEAKS, BD-SECURITY-RAND, BD-SECURITY-TDALLOC, BD-SECURITY-TDCMD, BD-SECURITY-TDCONSOLE, BD-SECURITY-TDENV, BD-SECURITY-TDFNAMES, BD-SECURITY-TDINPUT, BD-SECURITY-TDSQL, BD-TRS-BITLOCK, BD-TRS-DIFCS, BD-TRS-MLOCK |
SEI CERT C | CERT_C-API01-a, CERT_C-ARR30-a, CERT_C-ARR38-b, CERT_C-ARR38-d, CERT_C-ARR39-a, CERT_C-CON30-a, CERT_C-CON32-a, CERT_C-CON43-a, CERT_C-DCL01-b, CERT_C-DCL13-a, CERT_C-DCL15-a, CERT_C-DCL19-a, CERT_C-DCL22-a, CERT_C-ENV01-c, CERT_C-ENV34-a, CERT_C-ERR33-a, CERT_C-ERR33-c, CERT_C-EXP02-a, CERT_C-EXP08-b, CERT_C-EXP12-a, CERT_C-EXP33-a, CERT_C-EXP34-a, CERT_C-FIO22-a, CERT_C-FIO32-a, CERT_C-FIO37-a, CERT_C-FIO42-a, CERT_C-FLP03-a, CERT_C-FLP32-a, CERT_C-INT10-a, CERT_C-INT31-a, CERT_C-INT31-b, CERT_C-INT31-i, CERT_C-INT31-j, CERT_C-INT31-k, CERT_C-INT33-a, CERT_C-INT36-b, CERT_C-MEM00-e, CERT_C-MEM12-a, CERT_C-MEM31-a, CERT_C-MSC07-b, CERT_C-MSC07-f, CERT_C-MSC12-b, CERT_C-MSC12-f, CERT_C-MSC19-a, CERT_C-MSC19-b, CERT_C-MSC32-d, CERT_C-MSC37-a, CERT_C-POS30-a, CERT_C-POS49-a, CERT_C-POS54-a, CERT_C-POS54-c, CERT_C-STR02-a, CERT_C-STR02-b, CERT_C-STR02-c, CERT_C-STR03-a, CERT_C-STR31-a, CERT_C-STR31-b, CERT_C-STR32-a, CERT_C-WIN00-a, CERT_C-WIN30-a |
SEI CERT C++ | CERT_CPP-CON52-a, CERT_CPP-CTR50-a, CERT_CPP-CTR51-a, CERT_CPP-ERR50-f, CERT_CPP-ERR50-h, CERT_CPP-ERR55-a, CERT_CPP-ERR57-a, CERT_CPP-ERR58-a, CERT_CPP-EXP53-a, CERT_CPP-EXP63-a, CERT_CPP-FIO51-a, CERT_CPP-MSC51-a, CERT_CPP-MSC52-a, CERT_CPP-MSC53-a, CERT_CPP-OOP50-c, CERT_CPP-OOP50-d, CERT_CPP-STR50-b, CERT_CPP-STR50-c, CERT_CPP-STR51-a, CERT_CPP-STR53-a |
编码规范 | CODSTA-04, CODSTA-119, CODSTA-122_a, CODSTA-127_b, CODSTA-161_a, CODSTA-161_b, CODSTA-162, CODSTA-163_b, CODSTA-164_a, CODSTA-164_b, CODSTA-221 |
C++ 编码规范 | CODSTA-CPP-101, CODSTA-CPP-36, CODSTA-CPP-60, CODSTA-CPP-78, CODSTA-CPP-82 |
Modern C++ 编码规范 | CODSTA-MCPP-04 |
注释 | COMMENT-14 |
常见缺陷列表 | CWE-119-a, CWE-119-e, CWE-125-a, CWE-20-d, CWE-20-e, CWE-20-f, CWE-20-g, CWE-20-h, CWE-20-i, CWE-22-a, CWE-362-c, CWE-362-e, CWE-426-a, CWE-476-a, CWE-704-e, CWE-770-a, CWE-772-a, CWE-78-a, CWE-787-a, CWE-787-d, CWE-89-a |
异常 | EXCEPT-08, EXCEPT-14, EXCEPT-22 |
代码格式 | FORMAT-06, FORMAT-11, FORMAT-23, FORMAT-24, FORMAT-25 |
全局静态分析 | GLOBAL-ONEUSEVAR |
High Integrity C++ | HICPP-12_4_1-b, HICPP-12_4_1-c, HICPP-13_2_2-a, HICPP-17_3_3-a, HICPP-17_5_1-a, HICPP-18_2_2-a, HICPP-1_2_1-b, HICPP-1_2_1-f, HICPP-1_2_1-i, HICPP-2_5_3-a, HICPP-3_1_1-b, HICPP-4_2_2-a, HICPP-5_1_6-d, HICPP-5_2_1-a, HICPP-5_2_1-c, HICPP-5_5_1-a, HICPP-6_3_2-a, HICPP-6_4_1-a, HICPP-8_4_1-a, HICPP-9_1_1-a |
联合攻击战斗机 | JSF-037, JSF-042, JSF-098, JSF-105, JSF-115, JSF-118, JSF-135_b, JSF-136_b, JSF-137, JSF-143_a, JSF-157, JSF-186_b, JSF-186_f, JSF-207 |
MISRA C 1998 | MISRA-022, MISRA-023, MISRA-038, MISRA-071_a |
MISRA C 2004 | MISRA2004-12_4_a, MISRA2004-12_8, MISRA2004-13_2, MISRA2004-14_1_b, MISRA2004-14_1_f, MISRA2004-16_10, MISRA2004-16_7, MISRA2004-5_2_b, MISRA2004-8_10, MISRA2004-8_1_a, MISRA2004-9_2_c |
MISRA C++ 2008 | MISRA2008-0_1_1_b, MISRA2008-0_1_1_f, MISRA2008-0_1_2_aa, MISRA2008-0_1_3_a, MISRA2008-0_1_4, MISRA2008-0_1_6, MISRA2008-0_1_8, MISRA2008-0_3_1_a, MISRA2008-0_3_1_b, MISRA2008-0_3_1_c, MISRA2008-0_3_1_e, MISRA2008-0_3_1_h, MISRA2008-0_3_2, MISRA2008-12_1_1, MISRA2008-12_1_2, MISRA2008-14_6_1, MISRA2008-15_3_1, MISRA2008-15_5_2, MISRA2008-15_5_3_f, MISRA2008-15_5_3_h, MISRA2008-2_10_2_b, MISRA2008-2_13_1, MISRA2008-3_3_1, MISRA2008-3_4_1_a , MISRA2008-5_0_16_a, MISRA2008-5_0_16_b, MISRA2008-5_14_1, MISRA2008-5_8_1, MISRA2008-7_1_2_a, MISRA2008-7_3_1, MISRA2008-8_5_2_c, MISRA2008-9_3_3 |
MISRA C 2012(遗留) | MISRA2012-DIR-4_11, MISRA2012-DIR-4_13_a, MISRA2012-DIR-4_14_e, MISRA2012-DIR-4_14_f, MISRA2012-DIR-4_14_g, MISRA2012-DIR-4_14_j, MISRA2012-DIR-4_14_k, MISRA2012-DIR-4_14_l, MISRA2012-DIR-4_1_a, MISRA2012-DIR-4_1_b, MISRA2012-DIR-4_1_c, MISRA2012-DIR-4_1_e, MISRA2012-DIR-4_1_h, MISRA2012-RULE-10_1_a, MISRA2012-RULE-10_1_b, MISRA2012-RULE-10_2, MISRA2012-RULE-10_3_b, MISRA2012-RULE-10_4_a, MISRA2012-RULE-10_4_b, MISRA2012-RULE-12_1_c, MISRA2012-RULE-12_2, MISRA2012-RULE-13_5, MISRA2012-RULE-14_3_zc, MISRA2012-RULE-14_4, MISRA2012-RULE-16_1_f, MISRA2012-RULE-16_4_b, MISRA2012-RULE-17_7_a, MISRA2012-RULE-18_1_a, MISRA2012-RULE-18_1_c, MISRA2012-RULE-19_1_c, MISRA2012-RULE-1_3_a, MISRA2012-RULE-1_3_b, MISRA2012-RULE-1_3_e, MISRA2012-RULE-21_17_a, MISRA2012-RULE-21_17_b, MISRA2012-RULE-21_20, MISRA2012-RULE-22_1, MISRA2012-RULE-2_1_b, MISRA2012-RULE-2_1_f, MISRA2012-RULE-2_2_b, MISRA2012-RULE-5_3_b, MISRA2012-RULE-8_13_a, MISRA2012-RULE-9_1 |
MISRA C 2012 | MISRAC2012-DIR_4_1-a, MISRAC2012-DIR_4_1-b, MISRAC2012-DIR_4_1-c, MISRAC2012-DIR_4_1-e, MISRAC2012-DIR_4_1-h, MISRAC2012-DIR_4_11-a, MISRAC2012-DIR_4_13-a, MISRAC2012-DIR_4_14-e, MISRAC2012-DIR_4_14-f, MISRAC2012-DIR_4_14-g, MISRAC2012-DIR_4_14-j, MISRAC2012-DIR_4_14-k, MISRAC2012-DIR_4_14-l, MISRAC2012-RULE_10_1-a, MISRAC2012-RULE_10_1-b, MISRAC2012-RULE_10_2-a, MISRAC2012-RULE_10_3-b, MISRAC2012-RULE_10_4-a, MISRAC2012-RULE_10_4-b, MISRAC2012-RULE_12_1-c, MISRAC2012-RULE_12_2-a, MISRAC2012-RULE_13_5-a, MISRAC2012-RULE_14_3-ac, MISRAC2012-RULE_14_4-a, MISRAC2012-RULE_16_1-f, MISRAC2012-RULE_16_4-b, MISRAC2012-RULE_17_7-a, MISRAC2012-RULE_18_1-a, MISRAC2012-RULE_18_1-c, MISRAC2012-RULE_19_1-c, MISRAC2012-RULE_1_3-a, MISRAC2012-RULE_1_3-b, MISRAC2012-RULE_1_3-e, MISRAC2012-RULE_21_17-a, MISRAC2012-RULE_21_17-b, MISRAC2012-RULE_21_20-a, MISRAC2012-RULE_22_1-a, MISRAC2012-RULE_2_1-b, MISRAC2012-RULE_2_1-f, MISRAC2012-RULE_2_2-b, MISRAC2012-RULE_5_3-b, MISRAC2012-RULE_8_13-a, MISRAC2012-RULE_9_1-a |
命名规范 | NAMING-06, NAMING-18 |
最优化 | OPT-01, OPT-02, OPT-32, OPT-41 |
OWASP Top 10 2017 | OWASP2017-A1-b, OWASP2017-A1-c, OWASP2017-A1-d, OWASP2017-A1-e, OWASP2017-A1-f, OWASP2017-A3-a, OWASP2017-A5-a |
OWASP Top 10 2019 | OWASP2019-API3-b, OWASP2019-API3-e, OWASP2019-API3-g, OWASP2019-API3-k, OWASP2019-API4-a, OWASP2019-API4-b, OWASP2019-API8-a, OWASP2019-API8-b, OWASP2019-API8-c, OWASP2019-API8-d, OWASP2019-API8-e, OWASP2019-API8-f, OWASP2019-API8-h, OWASP2019-API9-e |
OWASP Top 10 2021 | OWASP2021-A1-a, OWASP2021-A2-a, OWASP2021-A3-b, OWASP2021-A3-c, OWASP2021-A3-d, OWASP2021-A3-e, OWASP2021-A3-f, OWASP2021-A8-a |
潜在的缺陷 | PB-43 |
安全性 | SECURITY-04, SECURITY-14 |
STL 最佳实践 | STL-23, STL-37 |
模板 | TEMPL-12 |
删除规则
规则 ID | 附注 |
---|---|
MISRAC2012-RULE_14_3-a | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_a 使用。 |
MISRAC2012-RULE_14_3-b | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_b 使用。 |
MISRAC2012-RULE_14_3-c | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_c 使用。 |
MISRAC2012-RULE_14_3-d | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_d 使用。 |
MISRAC2012-RULE_14_3-e | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_j 使用。 |
MISRAC2012-RULE_14_3-f | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_k 使用。 |
MISRAC2012-RULE_14_3-g | 应改用 MISRAC2012-RULE_14_3-ac。原规则可作为 MISRA2004-13_7_l 使用。 |
MISRAC2012-RULE_14_3-h | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_m 使用。 |
MISRAC2012-RULE_14_3-i | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_n 使用。 |
MISRAC2012-RULE_14_3-j | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_s 使用。 |
MISRAC2012-RULE_14_3-k | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_t 使用。 |
MISRAC2012-RULE_14_3-l | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_u 使用。 |
MISRAC2012-RULE_14_3-m | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_v 使用。 |
MISRAC2012-RULE_14_3-n | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_w 使用。 |
MISRAC2012-RULE_14_3-o | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_x 使用。 |
MISRAC2012-RULE_14_3-p | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_y 使用。 |
MISRAC2012-RULE_14_3-q | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_z 使用。 |
MISRAC2012-RULE_14_3-r | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_aa 使用。 |
MISRAC2012-RULE_14_3-s | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_ab 使用。 |
MISRAC2012-RULE_14_3-t | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_ac 使用。 |
MISRAC2012-RULE_14_3-u | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_ad 使用。 |
MISRAC2012-RULE_14_3-v | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_ae 使用。 |
MISRAC2012-RULE_14_3-w | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_af 使用。 |
MISRAC2012-RULE_14_3-x | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_ag 使用。 |
MISRAC2012-RULE_14_3-y | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_ah 使用。 |
MISRAC2012-RULE_14_3-z | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_ai 使用。 |
MISRAC2012-RULE_14_3-aa | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_aj 使用。 |
MISRAC2012-RULE_14_3-ab | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 MISRA2004-13_7_ak 使用。 |
MISRAC2012-RULE_14_3-ad | 应改用 MISRAC2012-RULE_14_3-ac。原规则作为 BD-PB-SWITCH 使用。 |
MISRA2012-RULE-14_3_a | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_a 使用。 |
MISRA2012-RULE-14_3_b | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_b 使用。 |
MISRA2012-RULE-14_3_c | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_c 使用。 |
MISRA2012-RULE-14_3_d | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_d 使用。 |
MISRA2012-RULE-14_3_e | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_j 使用。 |
MISRA2012-RULE-14_3_f | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_k 使用。 |
MISRA2012-RULE-14_3_g | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_l 使用。 |
MISRA2012-RULE-14_3_h | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_m 使用。 |
MISRA2012-RULE-14_3_i | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_n 使用。 |
MISRA2012-RULE-14_3_j | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_s 使用。 |
MISRA2012-RULE-14_3_k | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_t 使用。 |
MISRA2012-RULE-14_3_l | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_u 使用。 |
MISRA2012-RULE-14_3_m | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_v 使用。 |
MISRA2012-RULE-14_3_n | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_w 使用。 |
MISRA2012-RULE-14_3_o | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_x 使用。 |
MISRA2012-RULE-14_3_p | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_y 使用。 |
MISRA2012-RULE-14_3_q | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_z 使用。 |
MISRA2012-RULE-14_3_r | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_aa 使用。 |
MISRA2012-RULE-14_3_s | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_ab 使用。 |
MISRA2012-RULE-14_3_t | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_ac 使用。 |
MISRA2012-RULE-14_3_u | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_ad 使用。 |
MISRA2012-RULE-14_3_v | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_ae 使用。 |
MISRA2012-RULE-14_3_w | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_af 使用。 |
MISRA2012-RULE-14_3_x | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_ag 使用。 |
MISRA2012-RULE-14_3_y | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_ah 使用。 |
MISRA2012-RULE-14_3_z | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_ai 使用。 |
MISRA2012-RULE-14_3_za | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_aj 使用。 |
MISRA2012-RULE-14_3_zb | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 MISRA2004-13_7_ak 使用。 |
MISRA2012-RULE-14_3_zd | 应改用 MISRA2012-RULE-14_3_zc。原规则作为 BD-PB-SWITCH 使用。 |
PB-36 | 考虑改用 BD-PB-VCTOR、BD-PB-VDTOR。 |
我们优化了下列规则中的违规消息:
- BD-SECURITY-TDALLOC
- BD-SECURITY-TDCMD
- BD-SECURITY-TDCONSOLE
- BD-SECURITY-TDENV
- BD-SECURITY-TDFNAMES
- BD-SECURITY-TDINPUT
- BD-SECURITY-TDLOOP
- BD-SECURITY-TDSQL
因此,已有的基于 DTP 的抑制和文件内抑制可能不再适用。