Using tiff-4.5.0rc1, I get a test error in the imagecodecs Python
library trying to read 65535 pages/IFDs from a multi-page TIFF, which
worked with libtiff-4.4.
The issue seems to be an uint16 overflow of `tif->tif_curdir` in
`TIFFReadDirectory` at
<https://gitlab.com/libtiff/libtiff/-/blob/master/libtiff/tif_dirread.c#L4078>
when `TIFFSetDirectory(tif, 65534)` is followed by
`TIFFSetDirectory(tif, 0)`. In that case libtiff returns a warning and
an error:
"TIFFReadDirectory: Warning, Didn't read next directory due to IFD
looping at offset 0xa7ff1e (11009822) to offset 0x8 (8)."
Error: "Cannot handle more than 65535 TIFF directories"
The test file at
<https://github.com/cgohlke/imagecodecs/blob/master/tests/tiff/gray.movie.u2.tif>
contains 65567 pages.
Best regards.
On 12/9/2022 7:48 AM, Even Rouault wrote:
Hi,
I've prepared a release candidate for libtiff v4.5.0:
- https://download.osgeo.org/libtiff/tiff-4.5.0rc1.tar.gz
- https://download.osgeo.org/libtiff/tiff-4.5.0rc1.tar.gz.sig
- https://download.osgeo.org/libtiff/tiff-4.5.0rc1.tar.xz
- https://download.osgeo.org/libtiff/tiff-4.5.0rc1.tar.xz.sig
- https://download.osgeo.org/libtiff/tiff-4.5.0rc1.zip
- https://download.osgeo.org/libtiff/tiff-4.5.0rc1.zip.sig
Release notes at https://libtiff.gitlab.io/libtiff/releases/v4.5.0.html
I'll promote it to final next week if no serious blocking issues are
reported.
Thanks to all contributors.
Best regards,
_______________________________________________
Tiff mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/tiff