Skip to content

Commit 3ab41ec

Browse files
committed
Do not create core image in seek(), when load() might not run
1 parent a92dca6 commit 3ab41ec

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/PIL/TiffImagePlugin.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1191,11 +1191,9 @@ def seek(self, frame: int) -> None:
11911191
if not self._seek_check(frame):
11921192
return
11931193
self._seek(frame)
1194-
# Create a new core image object on second and
1195-
# subsequent frames in the image. Image may be
1196-
# different size/mode.
1197-
Image._decompression_bomb_check(self.size)
1198-
self.im = Image.core.new(self.mode, self.size)
1194+
# A new core image object will be needed for
1195+
# subsequent frames in the image.
1196+
self._im = None
11991197

12001198
def _seek(self, frame: int) -> None:
12011199
self.fp = self._fp
@@ -1277,6 +1275,7 @@ def load(self) -> Image.core.PixelAccess | None:
12771275

12781276
def load_prepare(self) -> None:
12791277
if self._im is None and self._will_be_transposed:
1278+
Image._decompression_bomb_check(self.size)
12801279
self.im = Image.core.new(self.mode, self.size[::-1])
12811280
ImageFile.ImageFile.load_prepare(self)
12821281

0 commit comments

Comments
 (0)