Warning C6293

Ill-defined for-loop: counts down from minimum

Remarks

This warning indicates that a for-loop might not function as intended. It occurs when a loop counts down from a minimum, but has a higher termination condition.

A signed or unsigned index variable, together with a negative increment, will cause the loop to count negative until an overflow occurs, which will terminate the loop.

Code analysis name: LOOP_INDEX_GOES_NEGATIVE

Example

The following sample code generates this warning:

void f( )
{
   signed char i;

   for (i = 0; i < 100; i--)
   {
      // code ...
   }
}

To correct this warning, use the following code:

void f( )
{
   signed char i;

   for (i = 0; i < 100; i++)
   {
      // code ...
   }
}