Commit ee319f66 authored by Michael W. Hudson's avatar Michael W. Hudson

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 :)
parent 5bbe6ad2
......@@ -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():
......
......@@ -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;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment