Origin: https://github.com/django/django/commit/9ca0ff6268eeff92d0d0ac2c315d4b6a8e229155
Subject: Denial-of-service in image validation

https://www.djangoproject.com/weblog/2012/jul/30/security-releases-issued/

CVE-2012-3443

Index: python-django-1.3.1/django/core/files/images.py
===================================================================
--- python-django-1.3.1.orig/django/core/files/images.py	2010-09-10 14:45:25.000000000 -0400
+++ python-django-1.3.1/django/core/files/images.py	2012-08-14 18:28:27.895124158 -0400
@@ -47,13 +47,18 @@
         file = open(file_or_path, 'rb')
         close = True
     try:
+        # Most of the time PIL only needs a small chunk to parse the image and
+        # get the dimensions, but with some TIFF files PIL needs to parse the
+        # whole file.
+        chunk_size = 1024
         while 1:
-            data = file.read(1024)
+            data = file.read(chunk_size)
             if not data:
                 break
             p.feed(data)
             if p.image:
                 return p.image.size
+            chunk_size = chunk_size*2
         return None
     finally:
         if close:
