diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index 43121e247..a0a2fd9cb 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -596,6 +596,7 @@ class TestFilePng(PillowTestCase): im = Image.open("Tests/images/iss634.apng") self.assertEqual(im.get_format_mimetype(), 'image/apng') + # This also tests reading unknown PNG chunks (fcTL and fdAT) in load_end expected = Image.open("Tests/images/iss634.webp") self.assert_image_similar(im, expected, 0.23) diff --git a/src/PIL/PngImagePlugin.py b/src/PIL/PngImagePlugin.py index aff8fadf4..3e22d4430 100644 --- a/src/PIL/PngImagePlugin.py +++ b/src/PIL/PngImagePlugin.py @@ -533,14 +533,6 @@ class PngStream(ChunkStream): self.im_custom_mimetype = 'image/apng' return s - def chunk_fcTL(self, pos, length): - s = ImageFile._safe_read(self.fp, length) - return s - - def chunk_fdAT(self, pos, length): - s = ImageFile._safe_read(self.fp, length) - return s - # -------------------------------------------------------------------- # PNG reader @@ -682,6 +674,9 @@ class PngImageFile(ImageFile.ImageFile): break except EOFError: ImageFile._safe_read(self.fp, length) + except AttributeError: + logger.debug("%r %s %s (unknown)", cid, pos, length) + ImageFile._safe_read(self.fp, length) self._text = self.png.im_text self.png.close() self.png = None