CWARN.CONSTCOND.DO

do 语句的条件为常量

CWARN.CONSTCOND.DO 检查器可查找其中 do 语句的条件为常量的实例。

漏洞与风险

语句的常量条件通常会导致无法达到程序意图,并可能引起意外后果。

漏洞代码示例

复制
  void foo() {
    int x = 3;
    do {
      x++;
    } while (x = 10);  
 }

在此示例中,Klocwork 标记了第 5 行,该行中的条件 (x=10) 为常量。

修正代码示例

复制
  void foo() {
    int x = 3;
    do {
      x++;
    } while (<10);             
 }

在该修正代码示例中,条件不再是一个常量。