Author: Matti Picus <matti.pi...@gmail.com> Branch: Changeset: r96351:66a0b0d41728 Date: 2019-03-26 21:09 +0200 http://bitbucket.org/pypy/pypy/changeset/66a0b0d41728/
Log: add missing check (fixes crash in scipy tests) diff --git a/pypy/module/zlib/interp_zlib.py b/pypy/module/zlib/interp_zlib.py --- a/pypy/module/zlib/interp_zlib.py +++ b/pypy/module/zlib/interp_zlib.py @@ -351,6 +351,9 @@ if length <= 0: raise oefmt(space.w_ValueError, "length must be greater than zero") + if not self.stream: + raise zlib_error(space, + "compressor object already flushed") data = self.unconsumed_tail try: self.lock() diff --git a/pypy/module/zlib/test/test_zlib.py b/pypy/module/zlib/test/test_zlib.py --- a/pypy/module/zlib/test/test_zlib.py +++ b/pypy/module/zlib/test/test_zlib.py @@ -356,3 +356,11 @@ compressor = self.zlib.compressobj() compressor.flush() raises(ValueError, compressor.copy) + + def test_double_flush(self): + import zlib + x = b'x\x9cK\xcb\xcf\x07\x00\x02\x82\x01E' # 'foo' + dco = zlib.decompressobj() + dco.decompress(x) + dco.flush() + raises(self.zlib.error, dco.flush) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit