summaryrefslogtreecommitdiff
path: root/Objects/funcobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/funcobject.c')
-rw-r--r--Objects/funcobject.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Objects/funcobject.c b/Objects/funcobject.c
index 304fb37bbb..e2ba2a97d6 100644
--- a/Objects/funcobject.c
+++ b/Objects/funcobject.c
@@ -127,6 +127,7 @@ static struct memberlist func_memberlist[] = {
{"func_code", T_OBJECT, OFF(func_code), READONLY},
{"func_globals",T_OBJECT, OFF(func_globals), READONLY},
{"func_name", T_OBJECT, OFF(func_name), READONLY},
+ {"__name__", T_OBJECT, OFF(func_name), READONLY},
{"func_argcount",T_INT, OFF(func_argcount), READONLY},
{"func_argdefs",T_OBJECT, OFF(func_argdefs), READONLY},
{"func_doc", T_OBJECT, OFF(func_doc)},
@@ -139,6 +140,11 @@ func_getattr(op, name)
funcobject *op;
char *name;
{
+ if (name[0] != '_' && getrestricted()) {
+ err_setstr(RuntimeError,
+ "function attributes not accessible in restricted mode");
+ return NULL;
+ }
return getmember((char *)op, func_memberlist, name);
}