From 0d6a8ccfb7b602c97fd3dd2a57eaa8138c811186 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Mon, 21 May 2007 08:13:35 +0000 Subject: [PATCH] Replace assertion with straight error-checking. --- Lib/collections.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Lib/collections.py b/Lib/collections.py index fa9a9a0f8a9..a2ce552ba2d 100644 --- a/Lib/collections.py +++ b/Lib/collections.py @@ -24,7 +24,8 @@ def NamedTuple(typename, s): """ field_names = s.split() - assert ''.join(field_names).replace('_', '').isalpha() # protect against exec attacks + if not ''.join([typename] + field_names).replace('_', '').isalpha(): + raise ValueError('Type names and field names can only contain alphanumeric characters and underscores') argtxt = ', '.join(field_names) reprtxt = ', '.join('%s=%%r' % name for name in field_names) template = '''class %(typename)s(tuple):