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

逻辑子表达式之间不应存在矛盾

10.1.2 ID_conflictCondition
目录 › next › previous

相互矛盾的逻辑子表达式会使整个表达式的结果恒为真或恒为假,导致逻辑错误。

示例:

a == 1 && a == 2   // always false
a != 1 || a != 2   // always true

同一变量不可能同时等于不同的值,这种表达式是无效的。

又如:

a > b && a <= b   // always false
a > b || a <= b   // always true

a == b && a != b   // always false
a == b || a != b   // always true

a < -128 && a > 127     // always false
a >= -128 || a <= 127   // always true

这种表达式均为常见笔误,应及时修正。

相关

ID_redundantCondition ID_simplifiableCondition

参考

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