do not raise on broken images

This commit is contained in:
homm 2015-09-15 19:11:45 +03:00
parent d02c57a7db
commit 613f1e241e

View File

@ -190,9 +190,6 @@ class ImageFile(Image.Image):
except AttributeError: except AttributeError:
prefix = b"" prefix = b""
# Buffer length read; assign a default value
t = 0
for d, e, o, a in self.tile: for d, e, o, a in self.tile:
d = Image._getdecoder(self.mode, d, a, self.decoderconfig) d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
seek(o) seek(o)
@ -201,7 +198,6 @@ class ImageFile(Image.Image):
except ValueError: except ValueError:
continue continue
b = prefix b = prefix
t = len(b)
while True: while True:
try: try:
s = read(self.decodermaxblock) s = read(self.decodermaxblock)
@ -230,7 +226,6 @@ class ImageFile(Image.Image):
if n < 0: if n < 0:
break break
b = b[n:] b = b[n:]
t = t + n
# Need to cleanup here to prevent leaks in PyPy # Need to cleanup here to prevent leaks in PyPy
d.cleanup() d.cleanup()
@ -239,7 +234,7 @@ class ImageFile(Image.Image):
self.fp = None # might be shared self.fp = None # might be shared
if not self.map and (not LOAD_TRUNCATED_IMAGES or t == 0) and e < 0: if not self.map and not LOAD_TRUNCATED_IMAGES and e < 0:
# still raised if decoder fails to return anything # still raised if decoder fails to return anything
raise_ioerror(e) raise_ioerror(e)