You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is split off a large patch I posted at bpo-20132. My new patch here fixes the following two flaws.
1. There is special code in the bz2 decoder that returns an empty text str object at EOF, even though bz2-codec is a bytes-to-bytes codec:
>>> import codecs
>>> decoder = codecs.getincrementaldecoder("bz2")()
>>> decoder.decode(codecs.encode(b"data", "bz2"))
b'data'
>>> decoder.decode(b"", final=True) # Should return bytes object
''
2. The base64 decoder does not handle partial sets of four codes, because it treats each input chunk as a stand-alone base64 encoding:
>>> tuple(codecs.iterdecode((b"AA", b"AA\r\n"), "base64"))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.5/codecs.py", line 1039, in iterdecode
output = decoder.decode(input)
File "/usr/lib/python3.5/encodings/base64_codec.py", line 35, in decode
return base64.decodebytes(input)
File "/usr/lib/python3.5/base64.py", line 554, in decodebytes
return binascii.a2b_base64(s)
binascii.Error: Incorrect padding
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: