[Python-Dev] Sandboxing Python

Victor Stinner victor.stinner at gmail.com
Fri Mar 9 01:28:08 CET 2012


On 05/03/2012 23:11, Victor Stinner wrote:
> 3 tests are crashing pysandbox:
>
>   - modify a dict during a dict lookup: I proposed two different fixes
> in issue #14205
>   - type MRO changed during a type lookup (modify __bases__ during the
> lookup): I proposed a fix in issue #14199 (keep a reference to the MRO
> during the lookup)
>   - stack overflow because of a compiler recursion: we should limit the
> depth in the compiler (i didn't write a patch yet)
>
> pysandbox should probably hide __bases__ special attribute, or at
> least make it read-only.

I opened the following issues to fix these crashers:

#14205: Raise an error if a dict is modified during a lookup. Fixed in 
Python 3.3.

#14199: Keep a refence to mro in _PyType_Lookup() and super_getattro(). 
Fixed in Python 3.3.

#14211: Don't rely on borrowed _PyType_Lookup() reference in 
PyObject_GenericSetAttr(). Fixed in Python 3.3.

#14231: Fix or drop Lib/test/crashers/borrowed_ref_1.py, it looks like 
it was already fixed 3 years ago.

The compiler recursion is not fixed yet.

Fixes may be backported to Python 2.7 and 3.2.

Victor


More information about the Python-Dev mailing list