From b8b3cdc146cdc588b7da1f94ba5ab3a196508659 Mon Sep 17 00:00:00 2001 From: homm Date: Fri, 31 Jul 2015 01:20:51 +0300 Subject: [PATCH 1/4] fix truncated images loading --- PIL/ImageFile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/PIL/ImageFile.py b/PIL/ImageFile.py index d892ba584..a3d34652f 100644 --- a/PIL/ImageFile.py +++ b/PIL/ImageFile.py @@ -33,7 +33,7 @@ import io import logging import os import sys -# import traceback +import struct logger = logging.getLogger(__name__) @@ -101,7 +101,8 @@ class ImageFile(Image.Image): except (IndexError, # end of data TypeError, # end of data (ord) KeyError, # unsupported mode - EOFError) as v: # got header but not the first frame + EOFError, # got header but not the first frame + struct.error) as v: logger.exception("%s") raise SyntaxError(v) @@ -204,7 +205,7 @@ class ImageFile(Image.Image): while True: try: s = read(self.decodermaxblock) - except IndexError as ie: # truncated png/gif + except (IndexError, struct.error) as ie: # truncated png/gif if LOAD_TRUNCATED_IMAGES: break else: From b078ad45997175f63dd0548dac8c1bb3f6abfb52 Mon Sep 17 00:00:00 2001 From: homm Date: Fri, 31 Jul 2015 15:48:51 +0300 Subject: [PATCH 2/4] raise IOError in all cases when image can't be loaded --- PIL/ImageFile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PIL/ImageFile.py b/PIL/ImageFile.py index a3d34652f..68f9b2b1f 100644 --- a/PIL/ImageFile.py +++ b/PIL/ImageFile.py @@ -209,7 +209,7 @@ class ImageFile(Image.Image): if LOAD_TRUNCATED_IMAGES: break else: - raise IndexError(ie) + raise IOError("image file is truncated") if not s and not d.handles_eof: # truncated jpeg self.tile = [] From 430e9922ebdc4217779371c5867115c42d68c549 Mon Sep 17 00:00:00 2001 From: homm Date: Fri, 31 Jul 2015 15:49:46 +0300 Subject: [PATCH 3/4] test for loading truncated image and raising proper exception --- Tests/images/truncated_image.png | Bin 0 -> 81920 bytes Tests/test_imagefile.py | 24 +++++++++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 Tests/images/truncated_image.png diff --git a/Tests/images/truncated_image.png b/Tests/images/truncated_image.png new file mode 100644 index 0000000000000000000000000000000000000000..cb32dc986a9c1a81c0fb9dc27c5366ed9151e173 GIT binary patch literal 81920 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 literal 0 HcmV?d00001 diff --git a/Tests/test_imagefile.py b/Tests/test_imagefile.py index fbd10d47b..857df1441 100644 --- a/Tests/test_imagefile.py +++ b/Tests/test_imagefile.py @@ -79,12 +79,11 @@ class TestImageFile(PillowTestCase): self.assertEqual((48, 48), p.image.size) def test_safeblock(self): - - im1 = hopper() - if "zip_encoder" not in codecs: self.skipTest("PNG (zlib) encoder not available") + im1 = hopper() + try: ImageFile.SAFEBLOCK = 1 im2 = fromstring(tostring(im1, "PNG")) @@ -96,6 +95,25 @@ class TestImageFile(PillowTestCase): def test_raise_ioerror(self): self.assertRaises(IOError, lambda: ImageFile.raise_ioerror(1)) + def test_truncated_with_errors(self): + if "zip_encoder" not in codecs: + self.skipTest("PNG (zlib) encoder not available") + + im = Image.open("Tests/images/truncated_image.png") + with self.assertRaises(IOError): + im.load() + + def test_truncated_without_errors(self): + if "zip_encoder" not in codecs: + self.skipTest("PNG (zlib) encoder not available") + + im = Image.open("Tests/images/truncated_image.png") + + ImageFile.LOAD_TRUNCATED_IMAGES = True + try: + im.load() + finally: + ImageFile.LOAD_TRUNCATED_IMAGES = False if __name__ == '__main__': unittest.main() From 1d236f02621f26da8724be131934e44f9f1598b4 Mon Sep 17 00:00:00 2001 From: homm Date: Fri, 31 Jul 2015 17:43:36 +0300 Subject: [PATCH 4/4] unused var --- PIL/ImageFile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PIL/ImageFile.py b/PIL/ImageFile.py index 68f9b2b1f..597e41783 100644 --- a/PIL/ImageFile.py +++ b/PIL/ImageFile.py @@ -205,7 +205,7 @@ class ImageFile(Image.Image): while True: try: s = read(self.decodermaxblock) - except (IndexError, struct.error) as ie: # truncated png/gif + except (IndexError, struct.error): # truncated png/gif if LOAD_TRUNCATED_IMAGES: break else: