Kaydet (Commit) c69d40f9 authored tarafından winkidney's avatar winkidney Kaydeden (comit) Tim Graham

Fixed #29705 -- Fixed ImageField RuntimeError crash for WebP files.

üst 586a9dc4
......@@ -69,6 +69,10 @@ def get_image_dimensions(file_or_path, close=False):
# less bytes than expected. Skip and feed more data to the
# parser (ticket #24544).
pass
except RuntimeError:
# e.g. "RuntimeError: could not create decoder object" for
# WebP files. A different chunk_size may work.
pass
if p.image:
return p.image.size
chunk_size *= 2
......
......@@ -343,6 +343,12 @@ class GetImageDimensionsTests(unittest.TestCase):
size = images.get_image_dimensions(fh)
self.assertEqual(size, (None, None))
def test_webp(self):
img_path = os.path.join(os.path.dirname(__file__), 'test.webp')
with open(img_path, 'rb') as fh:
size = images.get_image_dimensions(fh)
self.assertEqual(size, (540, 405))
class FileMoveSafeTests(unittest.TestCase):
def test_file_move_overwrite(self):
......
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