summaryrefslogtreecommitdiff
path: root/Mailman/MailList.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/MailList.py')
-rw-r--r--Mailman/MailList.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/Mailman/MailList.py b/Mailman/MailList.py
index 075d8baa2..20445f037 100644
--- a/Mailman/MailList.py
+++ b/Mailman/MailList.py
@@ -620,7 +620,17 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin,
self.reply_to_address, self.internal_name())
self.reply_to_address = ''
self.reply_goes_to_list = 0
-
+ # Legacy topics may have bad regular expressions in their patterns
+ goodtopics = []
+ for name, pattern, desc, emptyflag in self.topics:
+ try:
+ re.compile(pattern)
+ except (re.error, TypeError):
+ syslog('error', 'Bad topic pattern "%s" for list: %s',
+ pattern, self.internal_name())
+ else:
+ goodtopics.append((name, pattern, desc, emptyflag))
+ self.topics = goodtopics
#