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

if...else-if 分枝的条件不应重复

9.1.2 ID_if_identicalCondition
目录 › next › previous

if...else-if 分枝的条件不应有所重复,否则排在前面的分枝会得以执行,排在后面的分枝得不到执行机会。

示例:

if (condition1) {
    branch1
}
else if (condition2) {
    branch2
}
else if (condition1) {  // Non-compliant, see the previous ‘condition1’
    branch3
}
else {
    branch4
}

例中 branch1 和 branch3 的条件是相同的,所以 branch3 不会被执行。

这种问题为常见笔误,多由复制粘贴或维护代码时对原有逻辑不够了解造成。

相关

ID_if_hiddenCondition

参考

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