]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Fixes for SF #1076485, which I'll apply to the CVS head too. The problem was
authorBarry Warsaw <barry@python.org>
Sun, 5 Dec 2004 03:34:14 +0000 (03:34 +0000)
committerBarry Warsaw <barry@python.org>
Sun, 5 Dec 2004 03:34:14 +0000 (03:34 +0000)
commit9edcad326e517e26e8383e5c394981ec2f899179
treeb5dabe211437e172b778c0fca371b32bd0aa64e4
parent80367c45f021f20f687cb1710498f707fe0b1b99
Fixes for SF #1076485, which I'll apply to the CVS head too.  The problem was
caused by a self._input.readline() call that wasn't checking for the
NeedsMoreData marker.

msg_43.txt contains a message that illustrates the problem, when
email.message_from_*() is called.  That interface uses the Parser API, which
splits reads into 8192 byte chunks.  It so happens that for the test message,
the 8192 chunk falls inside a message/delivery-status, which is where in the
FeedParser the readline() call was that didn't check for NeedsMoreData.

I also added an assert to unreadline() so it'll be more evident if an attempt
to push back NeedsMoreData ever happens again.

Bump the email package version number.
Lib/email/FeedParser.py
Lib/email/__init__.py
Lib/email/test/data/msg_43.txt [new file with mode: 0644]
Lib/email/test/test_email.py