CWARN.NOEFFECT.UCMP.LTIneffective comparison of unsigned value is always falseThe CWARN.NOEFFECT.UCMP.LT checker flags code outside of macros, in which there is a comparison of an unsigned value to zero that is always false. Vulnerability and riskIf 'a' is an unsigned value, the comparisons a < 0 and 0 > a are always false. 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 if (a < 0) 3 return 1; 4 else 5 return 2; 6 } Klocwork flags line 2, in which the comparison 0 < a is always false. |