diff options
-rw-r--r-- | Lib/test/test_funcattrs.py | 3 | ||||
-rw-r--r-- | Objects/funcobject.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/Lib/test/test_funcattrs.py b/Lib/test/test_funcattrs.py index 1acfeb5e65..7a083b70df 100644 --- a/Lib/test/test_funcattrs.py +++ b/Lib/test/test_funcattrs.py @@ -276,6 +276,9 @@ def test_func_name(): verify(f.func_name == "h") cantset(f, "func_globals", 1) cantset(f, "__name__", 1) + # test that you can access func.__name__ in restricted mode + s = """def f(): pass\nf.__name__""" + exec s in {'__builtins__':{}} def test_func_code(): diff --git a/Objects/funcobject.c b/Objects/funcobject.c index c7f7c9d23d..c0c91c95d1 100644 --- a/Objects/funcobject.c +++ b/Objects/funcobject.c @@ -262,8 +262,6 @@ func_set_code(PyFunctionObject *op, PyObject *value) static PyObject * func_get_name(PyFunctionObject *op) { - if (restricted()) - return NULL; Py_INCREF(op->func_name); return op->func_name; } |