petdance/scratch — Issue #1273: Parrot_new should not need to be passed previously-created interps
Author: petdance
Created: 2011-11-01 05:39:47+00:00
State: open
Labels: core, Pri-normal, Sev-medium, todo

Currently Parrot_new requires being passed in the 1st interp that was ever created to create subsequent interpreter objects.
In PL/Parrot, many interps must be created, some are trusted, some are not. But they all need to know about the 1st interp that was created, which, from a security standpoint, is suboptimal. Here is a snippet from PL/Parrot's plparrot.c :

{{{
untrusted_interp = Parrot_new(NULL);

/* Must use the first created interp as the parent of subsequently created interps */
trusted_interp = Parrot_new(untrusted_interp);

}}}

Originally http://trac.parrot.org/parrot/ticket/1880