bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GCC optimizes integer overflow: bug or feature?


From: Rask Ingemann Lambertsen
Subject: Re: GCC optimizes integer overflow: bug or feature?
Date: Sat, 23 Dec 2006 10:06:54 +0100
User-agent: Mutt/1.4.2.1i

On Fri, Dec 22, 2006 at 01:58:39AM +0100, Denis Vlasenko wrote:
> 
> Or this, absolutely typical C code. i386 arch can compare
> 16 bits at a time here (luckily, no alighment worries on this arch):
> 
> # cat tt.c
> int f(char *p)
> {
>     if (p[0] == 1 && p[1] == 2) return 1;
>     return 0;
> }

   No, because you'd read past the end of the array:

#include <stdlib.h>

int main (int argc, char *argv[])
{
  char *a;
  if ((a == malloc (sizeof (char))))
    {
      int r;

      a[0] = 1;
      r = f (a);
      free (a);
      return (r);
    }
  return (0);
}

-- 
Rask Ingemann Lambertsen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]