☰
  • 首页
  • 规则分类
  • 项目介绍
search
•••

对编译警告的屏蔽应慎重

3.4.9 ID_warningDisabled
目录 › next › previous

编译器一般允许使用预编译指令屏蔽某些编译警告,但对于反映风险或安全问题的警告不应屏蔽。

示例:

#ifdef _MSC_VER
#pragma warning(disable: 4172)  // Non-compliant
#elif defined __GNUC__
#pragma GCC diagnostic ignored "-Wreturn-local-addr"  // Non-compliant
#endif

示例代码屏蔽了 Visual Studio C4172 和 GCC -Wreturn-local-addr 对应的警告,当局部变量的地址被返回时编译器不会给出警告,但这种警告是不应该被屏蔽的,详见 ID_localAddressFlowOut。

本规则集合提到的部分问题编译器也可以给出警告,这种警告均不应被屏蔽。

相关

ID_warningDefault

参考

CWE-1127
Copyright©2024 360 Security Technology Inc., Licensed under the Apache-2.0 license.