[7346] in bugtraq

home help back first fref pref prev next nref lref last post

Re: Bounds checking - historical aside

daemon@ATHENA.MIT.EDU (Gleb Ralka)
Wed Jul 22 14:38:29 1998

Date: 	Tue, 21 Jul 1998 15:12:27 -0400
Reply-To: Gleb Ralka <icrash@ACORNWORLD.NET>
From: Gleb Ralka <icrash@ACORNWORLD.NET>
To: BUGTRAQ@NETSPACE.ORG

Russell Fulton wrote:

> [Aleph One:  This is a little historical aside on the issue of bounds
> checking]
>
> On Sat, 18 Jul 1998 00:51:55 +0000 Niall Smart <rotel@indigo.ie> wrote:
>
> > There are at least 3 ways to solve the problem of buffer overflows:
> >
> >  1) Use a language which doesn't involve manipulation of buffers at
> >     the language level, e.g. Java.
> >
> >  2) Use a compiler which will generate code such that it will
> >     never overflow a buffer, e.g. one of the Ada/Modula/Pascal
> >     compilers, or the hypothetical bounds checking C compiler.
> >
> >  3) Write programs which will never overflow their buffers.
> >
>
> I will add another:
>
>    4) Use hardware that supports bounds checking.
>
> OK This isn't an option for most of us since most HW architectures that
> we are currently stuck with don't implement bounds checking. Going back
> a few years (mid 70's) we had a Burroughs B6700 which had a stack based
> architechure and used a segmentent memory model.  Each array or string
> was allocated its own segment and was accessed through a descriptor
> which held base address and bounds information.  There was a hardware
> index instruction which retrieved the data and performed the bounds
> check potentially in parallel.  (There were also hardware string copy
> and compare operators).
>
> In those days FORTRAN ruled and we often had visiting staff trying to
> run their programs on the B6700 only to have is spit it out with an
> "INVALID INDEX" message.  The usual response was "What's wrong with
> your computer, this program is in use by 100s of people all over the
> world and I have been using it for x years without problems".
>
> The more things change the more they stay the same.
>
> I have very fond memories of the B6700, it was by far the best machine
> I ever worked on.
>
> Cheers, Russell.

I cant completely agree. X86 family implements bound assembly instruction
just for this.

Gleb Ralka
icrash@acornworld.net

home help back first fref pref prev next nref lref last post