Kaydet (Commit) cda74c7f authored tarafından Raúl Cumplido's avatar Raúl Cumplido Kaydeden (comit) Tim Graham

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

üst cb506aed
......@@ -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()
......
......@@ -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()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment