summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2013-07-06 15:17:45 (GMT)
committerEzio Melotti <ezio.melotti@gmail.com>2013-07-06 15:17:45 (GMT)
commite0a39de647902d836e2acf680d8cfc5caa21460f (patch)
treeb10974509dd87344426e8705042542a984bcb2fd
parentc2464bf5c664d859aa3367b08f0504a1dddffa0d (diff)
parent2a99d5df63395149ef7393ef5e8a4fb141f64b55 (diff)
downloadcpython-e0a39de647902d836e2acf680d8cfc5caa21460f.zip
cpython-e0a39de647902d836e2acf680d8cfc5caa21460f.tar.gz
cpython-e0a39de647902d836e2acf680d8cfc5caa21460f.tar.bz2
#18380: merge with 3.3.
-rw-r--r--Lib/email/quoprimime.py2
-rw-r--r--Lib/test/test_email/test_email.py4
-rw-r--r--Misc/ACKS1
3 files changed, 6 insertions, 1 deletions
diff --git a/Lib/email/quoprimime.py b/Lib/email/quoprimime.py
index 78638d5..bc02281 100644
--- a/Lib/email/quoprimime.py
+++ b/Lib/email/quoprimime.py
@@ -319,4 +319,4 @@ def header_decode(s):
the high level email.header class for that functionality.
"""
s = s.replace('_', ' ')
- return re.sub(r'=[a-fA-F0-9]{2}', _unquote_match, s, re.ASCII)
+ return re.sub(r'=[a-fA-F0-9]{2}', _unquote_match, s, flags=re.ASCII)
diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py
index 78b86b8..8757924 100644
--- a/Lib/test/test_email/test_email.py
+++ b/Lib/test/test_email/test_email.py
@@ -4048,6 +4048,10 @@ class TestQuopri(unittest.TestCase):
def test_header_decode_non_ascii(self):
self._test_header_decode('hello=C7there', 'hello\xc7there')
+ def test_header_decode_re_bug_18380(self):
+ # Issue 18380: Call re.sub with a positional argument for flags in the wrong position
+ self.assertEqual(quoprimime.header_decode('=30' * 257), '0' * 257)
+
def _test_decode(self, encoded, expected_decoded, eol=None):
if eol is None:
decoded = quoprimime.decode(encoded)
diff --git a/Misc/ACKS b/Misc/ACKS
index 64f0b20..62e4ee4 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -871,6 +871,7 @@ Alessandro Moura
Pablo Mouzo
Mher Movsisyan
Ruslan Mstoi
+Valentina Mukhamedzhanova
Michael Mulich
Sape Mullender
Sjoerd Mullender