From 0c55b023f62d6881d38031f8a334c48bd48140a3 Mon Sep 17 00:00:00 2001 From: Rogdham <3994389+Rogdham@users.noreply.github.com> Date: Sat, 10 May 2025 04:32:22 +0200 Subject: [PATCH] gh-132983: Don't allow trailer data in ZstdFile (GH-133736) (cherry picked from commit 50b53706646cc130dcc71496f4a5bee14e9a1d9a) Co-authored-by: Rogdham <3994389+Rogdham@users.noreply.github.com> --- Lib/compression/zstd/_zstdfile.py | 1 - Lib/test/test_zstd.py | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Lib/compression/zstd/_zstdfile.py b/Lib/compression/zstd/_zstdfile.py index 1ff249965692ae..0086c13d3c1419 100644 --- a/Lib/compression/zstd/_zstdfile.py +++ b/Lib/compression/zstd/_zstdfile.py @@ -89,7 +89,6 @@ def __init__(self, file, /, mode="r", *, raw = _streams.DecompressReader( self._fp, ZstdDecompressor, - trailing_error=ZstdError, zstd_dict=zstd_dict, options=options, ) diff --git a/Lib/test/test_zstd.py b/Lib/test/test_zstd.py index ff2ead68fa89f5..713294c4c27685 100644 --- a/Lib/test/test_zstd.py +++ b/Lib/test/test_zstd.py @@ -1682,10 +1682,10 @@ def test_read_incomplete(self): # Trailing data isn't a valid compressed stream with ZstdFile(io.BytesIO(self.FRAME_42 + b'12345')) as f: - self.assertEqual(f.read(), self.DECOMPRESSED_42) + self.assertRaises(ZstdError, f.read) with ZstdFile(io.BytesIO(SKIPPABLE_FRAME + b'12345')) as f: - self.assertEqual(f.read(), b'') + self.assertRaises(ZstdError, f.read) def test_read_truncated(self): # Drop stream epilogue: 4 bytes checksum