On Fri, 17 Oct 2003, Simon Glover wrote:

>
> On Fri, 17 Oct 2003, Dan Sugalski wrote:
>
> > On Fri, 17 Oct 2003, Simon Glover wrote:
> >
> > >
> > >  What, if any, validation of their input should the register access
> > >  functions in the extension API do? Currently, they don't do any,
> > >  which means that you can create a buffer overflow simply by using
> > >  a register number >31 or <0; eg,
> > >
> > >    Parrot_set_intreg(interpreter, 100000000, 100);
> > >
> > >  reliably segfaults on my machine. Is it the responsibility of the
> > >  extension writer to do this kind of bounds checking (in which case
> > >  we need to make this extremely plain in the documentation), or should
> > >  Parrot do this itself?
> >
> > This ought to be done by the extension API, though it was something I
> > skimped on when I was throwing it together.
>
>  OK, so what do we do in response to an out-of-bounds access? Throw a
>  Parrot exception? Or indicate an error in some other fashion?

Throw an exception. Which, I see, there isn't a facility to do from an
extension. We need to fix that...

                                        Dan

Reply via email to