Re: Is this the ultimate stack-smash fix?

From: Xavier Bestel (xavier.bestel@free.fr)
Date: Tue Feb 20 2001 - 04:09:55 EST


Le 20 Feb 2001 02:10:12 +0100, Andreas Bombe a écrit :
> On Sat, Feb 17, 2001 at 09:53:48PM -0700, Eric W. Biederman wrote:
> > Peter Samuelson <peter@cadcamlab.org> writes:
> > > It also sounds like you will be
> > > breaking the extremely useful C postulate that, at the ABI level at
> > > least, arrays and pointers are equivalent. I can't see *how* you plan
> > > to work around that one.
> >
> > Huh? Pointers and arrays are clearly different at the ABI level.
> >
> > A pointer is a word that contains an address of something.
> > An array is an array.
>
> An array is a word that contains the address of the first element.

No. Exercise 3: compile and run this:
file a.c:
char array[] = "I'm really an array";

file b.c:
extern char* array;
main() { printf("array = %s\n", array); }

... and watch it biting the dust !
in short: an array is NOT a pointer.

    Xav

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Feb 23 2001 - 21:00:21 EST