Tom Truscott <[EMAIL PROTECTED]> writes:

> Here is an unintended bug I encountered recently, hopefully the "cert" 
> warning will catch this one too.
>
>    int okay_to_increment (int i)
>    {
>       if (i + 1 < i)
>         return 0;  /* adding 1 would cause overflow */
>       return 1;    /* adding 1 is safe */
>    }
>
> Any sort of bug can cause a security vulnerability, so I recommend that gcc 
> developers work harder on warning messages.

I can't tell whether you are joking or not, but as it happens we
already warn about this case with -Wall:

foo.c: In function ‘okay_to_increment’:
foo.c:3: warning: assuming signed overflow does not occur when assuming that (X 
+ c) < X is always false

Ian

Reply via email to