From c69d40f94308d52243133def3b6be7ff403df6f1 Mon Sep 17 00:00:00 2001
From: winkidney <winkidney@gmail.com>
Date: Wed, 22 Aug 2018 19:34:51 +0800
Subject: [PATCH] Fixed #29705 -- Fixed ImageField RuntimeError crash for WebP
 files.

---
 django/core/files/images.py |   4 ++++
 tests/files/test.webp       | Bin 0 -> 26390 bytes
 tests/files/tests.py        |   6 ++++++
 3 files changed, 10 insertions(+)
 create mode 100644 tests/files/test.webp

diff --git a/django/core/files/images.py b/django/core/files/images.py
index cdb89de2cc..579c32e11c 100644
--- a/django/core/files/images.py
+++ b/django/core/files/images.py
@@ -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
diff --git a/tests/files/test.webp b/tests/files/test.webp
new file mode 100644
index 0000000000000000000000000000000000000000..ae871d14f711f81f9040a5d557bcb36453d2aa8a
GIT binary patch
literal 26390
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

literal 0
HcmV?d00001

diff --git a/tests/files/tests.py b/tests/files/tests.py
index 663d2d976f..b50061649a 100644
--- a/tests/files/tests.py
+++ b/tests/files/tests.py
@@ -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):