areguera / rpms / mailman

Forked from rpms/mailman 5 years ago
Clone
Blob Blame History Raw
--- a/Mailman/Cgi/admin.py	2015-03-09 20:37:28 +0000
+++ b/Mailman/Cgi/admin.py	2015-04-13 22:17:02 +0000
@@ -911,6 +911,15 @@
     all.sort(lambda x, y: cmp(x.lower(), y.lower()))
     # See if the query has a regular expression
     regexp = cgidata.getvalue('findmember', '').strip()
+    try:
+        regexp = regexp.decode(Utils.GetCharSet(mlist.preferred_language))
+    except UnicodeDecodeError:
+        # This is probably a non-ascii character and an English language
+        # (ascii) list.  Even if we didn't throw the UnicodeDecodeError,
+        # the input may have contained mnemonic or numeric HTML entites mixed
+        # with other characters.  Trying to grok the real meaning out of that
+        # is complex and error prone, so we don't try.
+        pass
     if regexp:
         try:
             cre = re.compile(regexp, re.IGNORECASE)