CWARN.NOEFFECT.UCMP.GE

符号なし値の無効な比較は常に true になります

CWARN.NOEFFECT.UCMP.GE チェッカーは、常に true になる符号なし値とゼロとの比較が存在するマクロの外側でコードにフラグを立てます。

脆弱性とリスク

'a' が符号なし値の場合、a >= 0 と0 <= a の比較は常に true です。この比較は無意味であるため、設計の意図が達成されない可能性があります。

脆弱コード例

コピー
  int foo(unsigned int a) {
    while (0 <= a)  
      a--;
    return 0;
  }

Klocwork は、0 <= a の比較が常に true である 2 行目にフラグを立てます。