Oops, sorry!  That is a very nice warning (apparently in gcc newer than 4.2).

-----Original Message-----
From: Ian Lance Taylor [mailto:[EMAIL PROTECTED]
Sent: Monday, April 07, 2008 4:40 PM
To: Tom Truscott
Cc: gcc@gcc.gnu.org
Subject: Re: US-CERT Vulnerability Note VU#162289

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