summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2001-12-20 15:54:48 (GMT)
committerGuido van Rossum <guido@python.org>2001-12-20 15:54:48 (GMT)
commitf830a529961b54d136aac71e1e499e6735627d99 (patch)
tree03e45272bb988d20cc0161c8c9eb0b7d4b1f1892
parent54dc1d31ab097dcffab8b21a6c13eb0286fd52ce (diff)
downloadcpython-f830a529961b54d136aac71e1e499e6735627d99.zip
cpython-f830a529961b54d136aac71e1e499e6735627d99.tar.gz
cpython-f830a529961b54d136aac71e1e499e6735627d99.tar.bz2
SF patch #495358 (Artur Zaprzala): rfc822.AddressList and "<>" address
rfc822.AddressList incorrectly handles empty address. "<>" is converted to None and should be "". AddressList.__str__() fails on None. I got an email with such an address and my program failed processing it. Example: >>> import rfc822 >>> rfc822.AddressList("<>").addresslist [('', None)] >>> str(rfc822.AddressList("<>")) Traceback (most recent call last): File "<stdin>", line 1, in ? File "/usr/lib/python2.1/rfc822.py", line 753, in __str__ return ", ".join(map(dump_address_pair, self.addresslist)) TypeError: sequence item 0: expected string, None found [His solution: in the internal routine AddrlistClass.getrouteaddr(), initialize adlist to "".]
-rw-r--r--Lib/rfc822.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/Lib/rfc822.py b/Lib/rfc822.py
index 9ad2f8f..96ab21c 100644
--- a/Lib/rfc822.py
+++ b/Lib/rfc822.py
@@ -624,7 +624,7 @@ class AddrlistClass:
expectroute = 0
self.pos = self.pos + 1
self.gotonext()
- adlist = None
+ adlist = ""
while self.pos < len(self.field):
if expectroute:
self.getdomain()