mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Now that file objects are subclassable, you can get at the file constructor
just by doing type(f) where f is any file object. This left a hole in restricted execution mode that rexec.py can't plug by itself (although it can plug part of it; the rest is plugged in fileobject.c now).
This commit is contained in:
parent
561f899d19
commit
8fa45677c1
3 changed files with 52 additions and 2 deletions
|
@ -132,7 +132,7 @@ class RExec(ihooks._Verbose):
|
|||
ok_sys_names = ('ps1', 'ps2', 'copyright', 'version',
|
||||
'platform', 'exit', 'maxint')
|
||||
|
||||
nok_builtin_names = ('open', 'reload', '__import__')
|
||||
nok_builtin_names = ('open', 'file', 'reload', '__import__')
|
||||
|
||||
def __init__(self, hooks = None, verbose = 0):
|
||||
ihooks._Verbose.__init__(self, verbose)
|
||||
|
@ -186,7 +186,7 @@ class RExec(ihooks._Verbose):
|
|||
m = self.copy_except(__builtin__, self.nok_builtin_names)
|
||||
m.__import__ = self.r_import
|
||||
m.reload = self.r_reload
|
||||
m.open = self.r_open
|
||||
m.open = m.file = self.r_open
|
||||
|
||||
def make_main(self):
|
||||
m = self.add_module('__main__')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue