diff Objects/funcobject.c @ 2105:ea7b2bf0b521 legacy-trunk

add restrictions in restricted mode
author Guido van Rossum <guido@python.org>
date Tue, 10 Jan 1995 10:39:49 +0000
parents 4afa7eb4734b
children 527889ae8450
line wrap: on
line diff
--- a/Objects/funcobject.c	Tue Jan 10 10:39:16 1995 +0000
+++ b/Objects/funcobject.c	Tue Jan 10 10:39:49 1995 +0000
@@ -127,6 +127,7 @@
 	{"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 @@
 	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);
 }