CWARN.NOEFFECT.UCMP.GEIneffective comparison of unsigned value is always trueThe CWARN.NOEFFECT.UCMP.GE checker flags code outside of macros, in which there is a comparison of an unsigned value to zero that is always true. Vulnerability and riskIf 'a' is an unsigned value, the comparisons a >= 0 and 0 <= a are always true. These comparisons have no effect, so it's probable that design intent isn't being accomplished. Vulnerable code example1 int foo(unsigned int a) { 2 while (0 <= a) 3 a--; 4 return 0; 5 } Klocwork flags line 2, in which the comparison 0 <= a is always true. |