getaddrlist(): Make sure this consumes all the data, and if there is
no address there (perhaps because of invalid characters, it appends
('', '') to the result set.
Closes mimelib SF bug # 697641.
diff --git a/Lib/email/_parseaddr.py b/Lib/email/_parseaddr.py
index ef9423a..2b28b64 100644
--- a/Lib/email/_parseaddr.py
+++ b/Lib/email/_parseaddr.py
@@ -196,12 +196,12 @@
Returns a list containing all of the addresses.
"""
result = []
- while True:
+ while self.pos < len(self.field):
ad = self.getaddress()
if ad:
result += ad
else:
- break
+ result.append(('', ''))
return result
def getaddress(self):