From 194f599f2742cb1827622aa72e6daa206210c250 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 4 Jan 2019 12:29:23 +1100 Subject: [PATCH] Only close __fp if not fp --- Tests/images/hopper_unknown_pixel_mode.tif | Bin 0 -> 196973 bytes Tests/test_file_tiff.py | 4 ++++ src/PIL/DcxImagePlugin.py | 3 ++- src/PIL/FliImagePlugin.py | 3 ++- src/PIL/GifImagePlugin.py | 3 ++- src/PIL/ImImagePlugin.py | 3 ++- src/PIL/Image.py | 8 ++++---- src/PIL/MicImagePlugin.py | 3 ++- src/PIL/MpoImagePlugin.py | 3 ++- src/PIL/SpiderImagePlugin.py | 3 ++- src/PIL/TiffImagePlugin.py | 3 ++- 11 files changed, 24 insertions(+), 12 deletions(-) create mode 100644 Tests/images/hopper_unknown_pixel_mode.tif diff --git a/Tests/images/hopper_unknown_pixel_mode.tif b/Tests/images/hopper_unknown_pixel_mode.tif new file mode 100644 index 0000000000000000000000000000000000000000..89a8c5e1717cc59c8115b2688487f72b4d6cedfe GIT binary patch literal 196973 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 WdGEbv?tS3B_nyA<&};78z4bqDwt%?+ literal 0 HcmV?d00001 diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index 95a181363..4a0bfea58 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -220,6 +220,10 @@ class TestFileTiff(PillowTestCase): self.assertEqual( im.getextrema(), (-3.140936851501465, 3.140684127807617)) + def test_unknown_pixel_mode(self): + self.assertRaises( + IOError, Image.open, 'Tests/images/hopper_unknown_pixel_mode.tif') + def test_n_frames(self): for path, n_frames in [ ['Tests/images/multipage-lastframe.tif', 1], diff --git a/src/PIL/DcxImagePlugin.py b/src/PIL/DcxImagePlugin.py index 1b72cbc99..34a413dd7 100644 --- a/src/PIL/DcxImagePlugin.py +++ b/src/PIL/DcxImagePlugin.py @@ -83,7 +83,8 @@ class DcxImageFile(PcxImageFile): def _close__fp(self): try: - self.__fp.close() + if self.__fp != self.fp: + self.__fp.close() except AttributeError: pass finally: diff --git a/src/PIL/FliImagePlugin.py b/src/PIL/FliImagePlugin.py index 1c8232fba..4c3f533f7 100644 --- a/src/PIL/FliImagePlugin.py +++ b/src/PIL/FliImagePlugin.py @@ -159,7 +159,8 @@ class FliImageFile(ImageFile.ImageFile): def _close__fp(self): try: - self.__fp.close() + if self.__fp != self.fp: + self.__fp.close() except AttributeError: pass finally: diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index 50b786a37..21fdcc476 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -304,7 +304,8 @@ class GifImageFile(ImageFile.ImageFile): def _close__fp(self): try: - self.__fp.close() + if self.__fp != self.fp: + self.__fp.close() except AttributeError: pass finally: diff --git a/src/PIL/ImImagePlugin.py b/src/PIL/ImImagePlugin.py index 1a4fdb65a..3ef6bed63 100644 --- a/src/PIL/ImImagePlugin.py +++ b/src/PIL/ImImagePlugin.py @@ -292,7 +292,8 @@ class ImImageFile(ImageFile.ImageFile): def _close__fp(self): try: - self.__fp.close() + if self.__fp != self.fp: + self.__fp.close() except AttributeError: pass finally: diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 092cc8040..5c1b2a2a7 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -594,10 +594,10 @@ class Image(object): :ref:`file-handling` for more information. """ try: - self.fp.close() - self.fp = None if hasattr(self, "_close__fp"): self._close__fp() + self.fp.close() + self.fp = None except Exception as msg: logger.debug("Error closing: %s", msg) @@ -611,12 +611,12 @@ class Image(object): if sys.version_info.major >= 3: def __del__(self): + if hasattr(self, "_close__fp"): + self._close__fp() if (hasattr(self, 'fp') and hasattr(self, '_exclusive_fp') and self.fp and self._exclusive_fp): self.fp.close() self.fp = None - if hasattr(self, "_close__fp"): - self._close__fp() def _copy(self): self.load() diff --git a/src/PIL/MicImagePlugin.py b/src/PIL/MicImagePlugin.py index 6e29e456d..cff84d5eb 100644 --- a/src/PIL/MicImagePlugin.py +++ b/src/PIL/MicImagePlugin.py @@ -99,7 +99,8 @@ class MicImageFile(TiffImagePlugin.TiffImageFile): def _close__fp(self): try: - self.__fp.close() + if self.__fp != self.fp: + self.__fp.close() except AttributeError: pass finally: diff --git a/src/PIL/MpoImagePlugin.py b/src/PIL/MpoImagePlugin.py index 06b93d921..7afa3f35a 100644 --- a/src/PIL/MpoImagePlugin.py +++ b/src/PIL/MpoImagePlugin.py @@ -86,7 +86,8 @@ class MpoImageFile(JpegImagePlugin.JpegImageFile): def _close__fp(self): try: - self.__fp.close() + if self.__fp != self.fp: + self.__fp.close() except AttributeError: pass finally: diff --git a/src/PIL/SpiderImagePlugin.py b/src/PIL/SpiderImagePlugin.py index dcde2f395..4d5aa3f0e 100644 --- a/src/PIL/SpiderImagePlugin.py +++ b/src/PIL/SpiderImagePlugin.py @@ -195,7 +195,8 @@ class SpiderImageFile(ImageFile.ImageFile): def _close__fp(self): try: - self.__fp.close() + if self.__fp != self.fp: + self.__fp.close() except AttributeError: pass finally: diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index be24624d6..a39591937 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1361,7 +1361,8 @@ class TiffImageFile(ImageFile.ImageFile): def _close__fp(self): try: - self.__fp.close() + if self.__fp != self.fp: + self.__fp.close() except AttributeError: pass finally: