Array bounds checking with C????

Chris Ridd <RiddCJ> cjr at cs.bham.ac.uk
Thu Aug 30 20:21:50 AEST 1990


In article <26196 at mimsy.umd.edu> chris at mimsy.umd.edu (Chris Torek) writes:
>In article <7611 at ucdavis.ucdavis.edu> kuan at iris.ucdavis.edu
>(Frank [Who me?] Kuan) writes:
>>Why is it that most C compilers don't seem to [check array bounds]?
>
>Mostly because it is hard.  Given `int *p', is `p[-1] = 3' valid?
>That depends on the value of p....
>
>There is a company called Saber that produces a product called
>Saber-C that does this and more.  It works quite well, although last
>I had heard it still objected to `&arr[sizeof arr/sizeof *arr]',
>which is Officially Legal.  (Fortunately you can turn off each
>individual objection.)

  Why is this?  I never could figure out why accessing the first
element *past* the end of an array should be legal.

   Chris

-- Chris Ridd, Computer Science, Birmingham Uni, UK -- RiddCJ at Cs.Bham.Ac.Uk --

"'It's going to look pretty good, then, isn't it,' said War testily, 'the One
Horseman and Three Pedestrians of the Apocralypse.'" - Sourcery



More information about the Comp.lang.c mailing list