[issue19839] bz2: regression wrt supporting files with trailing garbage after EOF
Roundup Robot added the comment: New changeset c5349a560703 by Nadeem Vawda in branch '3.3': #19839: Fix regression in bz2 module's handling of non-bzip2 data at EOF. http://hg.python.org/cpython/rev/c5349a560703 New changeset bec2033ee2ec by Nadeem Vawda in branch '3.3': #19839: Fix lzma module's handling of non-lzma data at EOF. http://hg.python.org/cpython/rev/bec2033ee2ec New changeset 1f1498fe50e5 by Nadeem Vawda in branch 'default': Closes #19839: Fix regression in bz2 module's handling of non-bzip2 data at EOF. http://hg.python.org/cpython/rev/1f1498fe50e5 -- nosy: +python-dev resolution: - fixed stage: needs patch - committed/rejected status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19839 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19839] bz2: regression wrt supporting files with trailing garbage after EOF
Nadeem Vawda added the comment: I'll have a patch for this in the next couple of days (and a similar one for the lzma module, which has the same issue (even though it's not a regression in that case)). In the meanwhile, you can work around this by feeding the compressed data to a BZ2Decompressor yourself - it stops at the end of the bz2 stream, with any leftover data stored in its 'unused_data' attribute. -- assignee: - nadeem.vawda stage: - needs patch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19839 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19839] bz2: regression wrt supporting files with trailing garbage after EOF
New submission from Fabio Erculiani: In Sabayon Linux and Gentoo Linux, distro package metadata is appended at the end of bz2 files. Python 2.7, 3.1, 3.2 bz2 modules were handling the following attached file just fine, trailing garbage was simply ignored like the bunzip2 utility does. example test code: f = bz2.BZ2File(path, mode=rb) data = f.read(1024) while data: data = f.read(1024) f.close() The following code doesn't work with Python 3.3.3 anymore, at some point I receive the following exception (that comes from the bz2 module C code): File /usr/lib64/python3.3/bz2.py, line 278, in read return self._read_block(size) File /usr/lib64/python3.3/bz2.py, line 239, in _read_block while n 0 and self._fill_buffer(): File /usr/lib64/python3.3/bz2.py, line 203, in _fill_buffer self._buffer = self._decompressor.decompress(rawblock) OSError: Invalid data stream Please restore the compatibility with bz2 files with trailing garbage after EOF. -- components: Library (Lib) files: sys-libs:zlib-1.2.3-r1~1.tbz2 messages: 204793 nosy: Fabio.Erculiani priority: normal severity: normal status: open title: bz2: regression wrt supporting files with trailing garbage after EOF versions: Python 3.3 Added file: http://bugs.python.org/file32904/sys-libs:zlib-1.2.3-r1~1.tbz2 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19839 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19839] bz2: regression wrt supporting files with trailing garbage after EOF
Changes by Fabio Erculiani lx...@sabayonlinux.org: -- type: - crash ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19839 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19839] bz2: regression wrt supporting files with trailing garbage after EOF
Changes by Serhiy Storchaka storch...@gmail.com: -- nosy: +nadeem.vawda, serhiy.storchaka type: crash - behavior versions: +Python 3.4 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19839 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19839] bz2: regression wrt supporting files with trailing garbage after EOF
Serhiy Storchaka added the comment: decompress() is affected too. import bz2 bz2.decompress(bz2.compress(b'abcd') + b'xyz') Traceback (most recent call last): File stdin, line 1, in module File /home/serhiy/py/cpython/Lib/bz2.py, line 505, in decompress results.append(decomp.decompress(data)) OSError: Invalid data stream On 3.2 it returns b'abcd'. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19839 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19839] bz2: regression wrt supporting files with trailing garbage after EOF
Changes by Antoine Pitrou pit...@free.fr: -- keywords: +3.2regression priority: normal - high ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19839 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com