Subject: Re: Bounding Indices in Sequence Functions
From: Erik Naggum <>
Date: 22 Oct 2002 17:16:01 +0000
Newsgroups: comp.lang.lisp
Message-ID: <>

* Barry Margolin
| There's nothing guaranteeing this.  It's not required to check that
| end<=length, and if it doesn't check you can get a buffer overflow (like
| the kind that have been the cause of so many security problems).

  That does not follow strictly from the premises.  The test for an actual
  index < length may well be performed without testing that end <= length.
  Although some CPU cycles may conceivably be saved by testing once, the
  test may also be performed in parallel with the actual memory access
  instruction in such a way that a test at the head of the loop would only
  waste resources and be obnoxious if the purpose of the function were to
  be satisfied before the condition became relevant.

Erik Naggum, Oslo, Norway

Act from reason, and failure makes you rethink and study harder.
Act from faith, and failure makes you blame someone and push harder.