diff options
author | Michael W. Hudson <mwh@python.net> | 2005-02-17 10:37:21 +0000 |
---|---|---|
committer | Michael W. Hudson <mwh@python.net> | 2005-02-17 10:37:21 +0000 |
commit | ee319f66ab6fc041ff2f576562997e4c7bd33d3e (patch) | |
tree | 18bb142ce7703910f7ac3a25c69406aa1d7f2ad6 | |
parent | 5bbe6ad2b5834a6f087d30fe9c54604eefc8d2c3 (diff) | |
download | cpython-git-ee319f66ab6fc041ff2f576562997e4c7bd33d3e.tar.gz |
Fix
[ 1124295 ] Function's __name__ no longer accessible in restricted mode
which I introduced with a bit of mindless copy-paste when making
__name__ writable. You can't assign to __name__ in restricted mode,
which I'm going to pretend was intentional :)
-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; } |