]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Deny eval() direct access to builtins (GH-20713) (GH-20714)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 8 Jun 2020 07:19:27 +0000 (00:19 -0700)
committerGitHub <noreply@github.com>
Mon, 8 Jun 2020 07:19:27 +0000 (00:19 -0700)
Lib/collections/__init__.py

index 011a0c1e7c19d620c778fa165c213eaeffc0ebe0..d11d120d76d99c8c533337742b1101200046d5ca 100644 (file)
@@ -407,7 +407,8 @@ def namedtuple(typename, field_names, *, rename=False, defaults=None, module=Non
     # Create all the named tuple methods to be added to the class namespace
 
     s = f'lambda _cls, {arg_list}: _tuple_new(_cls, ({arg_list}))'
-    namespace = {'_tuple_new': tuple_new, '__name__': f'namedtuple_{typename}'}
+    namespace = {'_tuple_new': tuple_new,  '__builtins__': None,
+                 '__name__': f'namedtuple_{typename}'}
     __new__ = eval(s, namespace)
     __new__.__doc__ = f'Create new instance of {typename}({arg_list})'
     if defaults is not None: