From a4a856b58a7b55cfce359ec97c6fed8a16bcbad2 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Fri, 5 Apr 2013 15:36:48 -0700 Subject: [PATCH] large exif segments --- PIL/JpegImagePlugin.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/PIL/JpegImagePlugin.py b/PIL/JpegImagePlugin.py index 1c260dd6b..a659b4c47 100644 --- a/PIL/JpegImagePlugin.py +++ b/PIL/JpegImagePlugin.py @@ -561,6 +561,10 @@ def _save(im, fp, filename): bufsize=0 if "optimize" in info: bufsize = im.size[0]*im.size[1] + + # The exif info needs to be written as one block. Ensure that our buffer is big enough + if len(info.get("exif",b"")) > max(ImageFile.MAXBLOCK, bufsize): + bufsize = 2*len(info.get("exif",b"")) ImageFile._save(im, fp, [("jpeg", (0,0)+im.size, 0, rawmode)], bufsize)