Commit cda74c7f authored by Raúl Cumplido's avatar Raúl Cumplido Committed by Tim Graham
Browse files

Fixed #24441 -- Changed get_image_dimensions() return value for broken images

parent cb506aed
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ def get_image_dimensions(file_or_path, close=False):
            if p.image:
                return p.image.size
            chunk_size *= 2
        return None
        return (None, None)
    finally:
        if close:
            file.close()
+1 −0
Original line number Diff line number Diff line
123
+16 −0
Original line number Diff line number Diff line
@@ -239,6 +239,22 @@ class InconsistentGetImageDimensionsBug(unittest.TestCase):
            self.assertEqual(size, Image.open(fh).size)


class GetImageDimensionsOnInvalidImages(unittest.TestCase):
    @unittest.skipUnless(Image, "Pillow not installed")
    def test_invalid_image(self):
        """
        get_image_dimensions() should return (None, None) for the dimensions of
        invalid images (#24441).

        brokenimg.png is not a valid image and it has been generated by:
        $ echo "123" > brokenimg.png
        """
        img_path = os.path.join(os.path.dirname(upath(__file__)), "brokenimg.png")
        with open(img_path, 'rb') as fh:
            size = images.get_image_dimensions(fh)
            self.assertEqual(size, (None, None))


class FileMoveSafeTests(unittest.TestCase):
    def test_file_move_overwrite(self):
        handle_a, self.file_a = tempfile.mkstemp()