summaryrefslogtreecommitdiffstats
path: root/Lib/email/feedparser.py
diff options
context:
space:
mode:
authorR. David Murray <rdmurray@bitdance.com>2010-06-03 15:43:20 (GMT)
committerR. David Murray <rdmurray@bitdance.com>2010-06-03 15:43:20 (GMT)
commit61746d580e956bc2dda7fcf230a581e463a4d186 (patch)
tree1e84de1954226de043d62d82ce411bcdb2e9d2ed /Lib/email/feedparser.py
parent23152ea5bdf4b2e54bbf9a1efa0c7eba292d38cf (diff)
downloadcpython-61746d580e956bc2dda7fcf230a581e463a4d186.zip
cpython-61746d580e956bc2dda7fcf230a581e463a4d186.tar.gz
cpython-61746d580e956bc2dda7fcf230a581e463a4d186.tar.bz2
#5610: use \Z not $ so we don't eat extra chars when body part ends with \r\n.
If a body part ended with \r\n, feedparser, using '$' to terminate its search for the newline, would match on the \r\n, and think that it needed to strip two characters in order to account for the line end before the boundary. That made it chop one too many characters off the end of the body part. Using \Z makes the match correct. Patch and test by Tony Nelson.
Diffstat (limited to 'Lib/email/feedparser.py')
-rw-r--r--Lib/email/feedparser.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/Lib/email/feedparser.py b/Lib/email/feedparser.py
index afb02b3..163fada 100644
--- a/Lib/email/feedparser.py
+++ b/Lib/email/feedparser.py
@@ -28,7 +28,7 @@ from email import message
NLCRE = re.compile('\r\n|\r|\n')
NLCRE_bol = re.compile('(\r\n|\r|\n)')
-NLCRE_eol = re.compile('(\r\n|\r|\n)$')
+NLCRE_eol = re.compile('(\r\n|\r|\n)\Z')
NLCRE_crack = re.compile('(\r\n|\r|\n)')
# RFC 2822 $3.6.8 Optional fields. ftext is %d33-57 / %d59-126, Any character
# except controls, SP, and ":".