On 7/30/07, chromatic <[EMAIL PROTECTED]> wrote:
> On Monday 30 July 2007 00:21:09 [EMAIL PROTECTED] wrote:
> > Author: mdiep
> > Date: Mon Jul 30 00:21:07 2007
> > New Revision: 20343
> >
> > Modified:
> > trunk/include/parrot/exit.h
> > trunk/src/exit.c
> > trunk/src/inter_run.c
> >
> > Log:
> > A couple more small cleanups
>
> > Modified: trunk/src/inter_run.c
> > ===========================================================================
> >=== --- trunk/src/inter_run.c (original)
> > +++ trunk/src/inter_run.c Mon Jul 30 00:21:07 2007
> > @@ -167,9 +167,7 @@
> > {
> > opcode_t offset, *dest;
> > parrot_context_t *ctx;
> > - /*
> > - * FIXME argument count limited - check strlen of sig
> > - */
> > +
> > char new_sig[10];
> > const char *sig_p;
> > parrot_context_t * const old_ctx = CONTEXT(interp->ctx);
>
> I think this comment meant "Hey, allocating a ten-character array on the stack
> might put us in danger of overruns."
I removed it because down later in the source, the strlen of sig *is* checked:
const size_t len = strlen(sig);
if (len > 8) {
real_exception(interp, NULL, 1, "too many arguments in
runops_args");
}
The string is only copied after this check is made.
--
Matt Diephouse
http://matt.diephouse.com