Skip to content

Commit 629f5be

Browse files
committed
In seek(), create core image at size needed for loading
1 parent a92dca6 commit 629f5be

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/PIL/TiffImagePlugin.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1194,8 +1194,8 @@ def seek(self, frame: int) -> None:
11941194
# Create a new core image object on second and
11951195
# subsequent frames in the image. Image may be
11961196
# different size/mode.
1197-
Image._decompression_bomb_check(self.size)
1198-
self.im = Image.core.new(self.mode, self.size)
1197+
Image._decompression_bomb_check(self._tile_size)
1198+
self.im = Image.core.new(self.mode, self._tile_size)
11991199

12001200
def _seek(self, frame: int) -> None:
12011201
self.fp = self._fp
@@ -1276,8 +1276,8 @@ def load(self) -> Image.core.PixelAccess | None:
12761276
return super().load()
12771277

12781278
def load_prepare(self) -> None:
1279-
if self._im is None and self._will_be_transposed:
1280-
self.im = Image.core.new(self.mode, self.size[::-1])
1279+
if self._im is None:
1280+
self.im = Image.core.new(self.mode, self._tile_size)
12811281
ImageFile.ImageFile.load_prepare(self)
12821282

12831283
def load_end(self) -> None:
@@ -1421,9 +1421,9 @@ def _setup(self) -> None:
14211421
if not isinstance(xsize, int) or not isinstance(ysize, int):
14221422
msg = "Invalid dimensions"
14231423
raise ValueError(msg)
1424+
self._tile_size = xsize, ysize
14241425
orientation = self.tag_v2.get(ExifTags.Base.Orientation)
1425-
self._will_be_transposed = orientation in (5, 6, 7, 8)
1426-
if self._will_be_transposed:
1426+
if orientation in (5, 6, 7, 8):
14271427
self._size = ysize, xsize
14281428
else:
14291429
self._size = xsize, ysize

0 commit comments

Comments
 (0)