mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-25 17:36:18 +03:00
Raise ValueError if seeking to greater than offset-sized integer
This commit is contained in:
parent
794a7d691f
commit
21801f3a45
BIN
Tests/images/seek_too_large.tif
Normal file
BIN
Tests/images/seek_too_large.tif
Normal file
Binary file not shown.
|
@ -113,6 +113,10 @@ class TestFileTiff:
|
||||||
outfile = str(tmp_path / "temp.tif")
|
outfile = str(tmp_path / "temp.tif")
|
||||||
im.save(outfile, save_all=True, append_images=[im], tiffinfo=im.tag_v2)
|
im.save(outfile, save_all=True, append_images=[im], tiffinfo=im.tag_v2)
|
||||||
|
|
||||||
|
def test_seek_too_large(self):
|
||||||
|
with pytest.raises(ValueError, match="Unable to seek to frame"):
|
||||||
|
Image.open("Tests/images/seek_too_large.tif")
|
||||||
|
|
||||||
def test_set_legacy_api(self) -> None:
|
def test_set_legacy_api(self) -> None:
|
||||||
ifd = TiffImagePlugin.ImageFileDirectory_v2()
|
ifd = TiffImagePlugin.ImageFileDirectory_v2()
|
||||||
with pytest.raises(Exception) as e:
|
with pytest.raises(Exception) as e:
|
||||||
|
|
|
@ -1166,6 +1166,9 @@ class TiffImageFile(ImageFile.ImageFile):
|
||||||
self.__next,
|
self.__next,
|
||||||
self.fp.tell(),
|
self.fp.tell(),
|
||||||
)
|
)
|
||||||
|
if self.__next >= 2**63:
|
||||||
|
msg = "Unable to seek to frame"
|
||||||
|
raise ValueError(msg)
|
||||||
self.fp.seek(self.__next)
|
self.fp.seek(self.__next)
|
||||||
self._frame_pos.append(self.__next)
|
self._frame_pos.append(self.__next)
|
||||||
logger.debug("Loading tags, location: %s", self.fp.tell())
|
logger.debug("Loading tags, location: %s", self.fp.tell())
|
||||||
|
|
Loading…
Reference in New Issue
Block a user