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

if 语句不应为空

9.1.12 ID_if_emptyBlock
目录 › next › previous

空的 if 语句或 else 子句无实际意义,往往是残留代码或功能未实现。

示例:

if (cond);     // Non-compliant
if (cond) {}   // Non-compliant

如果 if 语句没有 else 分枝,且其分枝为空,这样的 if 语句无任何意义,即使其条件有副作用,也不应继续保留该 if 结构。

又如:

if (cond) {    // Non-compliant, empty
} else {
    ....       // Nonempty statements
}

应改为:

if (!cond) {   // Compliant
    ....
}

或者添加注释说明为何为空:

if (cond) {
    ;          // Compliant if reasonable comments are provided
} else {
    ....
}

参考

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