From 6967f3519f3622f7b9ab53470ea75f388beb5b2a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 20 Apr 2021 20:53:50 +1000 Subject: [PATCH] Test when "adobe_transform" is unable to be read --- Tests/images/truncated_app14.jpg | Bin 0 -> 29342 bytes Tests/test_file_jpeg.py | 7 +++++++ 2 files changed, 7 insertions(+) create mode 100644 Tests/images/truncated_app14.jpg diff --git a/Tests/images/truncated_app14.jpg b/Tests/images/truncated_app14.jpg new file mode 100644 index 0000000000000000000000000000000000000000..232a4c35f8c5ac8cba5c873e698f7415165ccfb3 GIT binary patch literal 29342 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 literal 0 HcmV?d00001 diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 8c3bc76c6..ab799c13f 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -802,6 +802,13 @@ class TestFileJpeg: with Image.open("Tests/images/pil_sample_cmyk.jpg") as im: assert im.info["adobe_transform"] == 2 + # This image has been manually hexedited + # so that the APP14 reports its length to be 11, + # leaving no room for "adobe_transform" + with Image.open("Tests/images/truncated_app14.jpg") as im: + assert "adobe" in im.info + assert "adobe_transform" not in im.info + def test_icc_after_SOF(self): with Image.open("Tests/images/icc-after-SOF.jpg") as im: assert im.info["icc_profile"] == b"profile"