Skip to content

Recursive Walkthrough JPEG or TIFF fails on MakerNotes #3141

Open
@shyrodgau

Description

@shyrodgau

Describe the bug

I use the -pR option to check if the TIFF/JPEG files are okay that I generate, or that I get passed. These give me
"Exiv2 exception in print action for file /home/hegny/photos/imback/Photo/dng/2025_0201_095437_011.dng:
tiff directory length is too large"
while exiftool only emits a warning "Unknown MakerNotes"
NOTE it could however also be an invalid UserComment Encoding. But the error goes away when (while converting RAW+JPEG to DNG) I remove the MakerNotes, not when I remove the UserComment.

2025_0201_095437_011.zip

Image

To Reproduce

try exiv2 -pR on one of the two attached files

exiv2 -Qd -pR /home/hegny/photos/imback/Photo/dng/2025_0201_095437_011.dng
STRUCTURE OF TIFF FILE (II): /home/hegny/photos/imback/Photo/dng/2025_0201_095437_011.dng
address | tag | type | count | offset | value
44938 | 0x00fe NewSubfileType | LONG | 1 | | 1
44950 | 0x0100 ImageWidth | SHORT | 1 | | 144
44962 | 0x0101 ImageLength | SHORT | 1 | | 104
44974 | 0x0102 BitsPerSample | SHORT | 3 | 45530 | 8 8 8
44986 | 0x0103 Compression | SHORT | 1 | | 1
44998 | 0x0106 PhotometricInterpretation | SHORT | 1 | | 2
45010 | 0x010f Make | ASCII | 7 | 45552 | ImBack
45022 | 0x0110 Model | ASCII | 8 | 45576 | ImB35mm
45034 | 0x0111 StripOffsets | LONG | 1 | | 8
45046 | 0x0112 Orientation | SHORT | 1 | | 1
45058 | 0x0115 SamplesPerPixel | SHORT | 1 | | 3
45070 | 0x0116 RowsPerStrip | LONG | 1 | | 104
45082 | 0x0117 StripByteCounts | LONG | 1 | | 44928
45094 | 0x011a XResolution | RATIONAL | 1 | 45536 | 30/1
45106 | 0x011b YResolution | RATIONAL | 1 | 45544 | 30/1
45118 | 0x011c PlanarConfiguration | SHORT | 1 | | 1
45130 | 0x0131 Software | ASCII | 29 | 45584 | imbraw2dng.js V6.0.1_a3fe422
45142 | 0x0132 DateTime | ASCII | 20 | 45668 | 2025:02:01 09:54:37
45154 | 0x013b Artist | ASCII | 24 | 45758 | Stefan Hegny, DE-Rodgau
45166 | 0x014a SubIFDs | LONG | 1 | | 16428032
STRUCTURE OF TIFF FILE (II): /home/hegny/photos/imback/Photo/dng/2025_0201_095437_011.dng
address | tag | type | count | offset | value
16428034 | 0x00fe NewSubfileType | LONG | 1 | | 0
16428046 | 0x0100 ImageWidth | SHORT | 1 | | 4608
16428058 | 0x0101 ImageLength | SHORT | 1 | | 3328
16428070 | 0x0102 BitsPerSample | SHORT | 1 | | 8
16428082 | 0x0103 Compression | SHORT | 1 | | 1
16428094 | 0x0106 PhotometricInterpretation | SHORT | 1 | | 32803
16428106 | 0x0111 StripOffsets | LONG | 1 | | 1092608
16428118 | 0x0115 SamplesPerPixel | SHORT | 1 | | 1
16428130 | 0x0116 RowsPerStrip | LONG | 1 | | 3328
16428142 | 0x0117 StripByteCounts | LONG | 1 | | 15335424
16428154 | 0x011c PlanarConfiguration | SHORT | 1 | | 1
16428166 | 0x828d CFARepeatPatternDim | SHORT | 2 | | 2 2
16428178 | 0x828e CFAPattern | BYTE | 4 | | ....
16428190 | 0xc61d WhiteLevel | LONG | 1 | | 255
END /home/hegny/photos/imback/Photo/dng/2025_0201_095437_011.dng
45178 | 0x02bc XMLPacket | BYTE | 662 | 45782 | <?xpacket begin='...' id='W5M0Mp ...
45190 | 0x8298 Copyright | ASCII | 50 | 45708 | 2025 Stefan Hegny, DE-Rodgau. Al ...
45202 | 0x8769 ExifTag | LONG | 1 | | 1091930
STRUCTURE OF TIFF FILE (II): /home/hegny/photos/imback/Photo/dng/2025_0201_095437_011.dng
address | tag | type | count | offset | value
1091932 | 0x013b Artist | ASCII | 24 | 1092406 | Stefan Hegny, DE-Rodgau
1091944 | 0x8298 Copyright | ASCII | 50 | 1092356 | 2025 Stefan Hegny, DE-Rodgau. Al ...
1091956 | 0x829a ExposureTime | RATIONAL | 1 | 1092430 | 1/1
1091968 | 0x829d FNumber | RATIONAL | 1 | 1092438 | 18/10
1091980 | 0x8822 ExposureProgram | SHORT | 1 | | 1
1091992 | 0x8827 ISOSpeedRatings | SHORT | 1 | | 100
1092004 | 0x9000 ExifVersion | UNDEFINED | 4 | | 0220
1092016 | 0x9003 DateTimeOriginal | ASCII | 20 | 1092446 | 2025:02:01 09:54:38
1092028 | 0x9004 DateTimeDigitized | ASCII | 20 | 1092466 | 2025:02:01 09:54:38
1092040 | 0x9101 ComponentsConfiguration | UNDEFINED | 4 | | ...
1092052 | 0x9201 ShutterSpeedValue | SRATIONAL | 1 | 1092486 | 0/10
1092064 | 0x9202 ApertureValue | RATIONAL | 1 | 1092494 | 16/10
1092076 | 0x9203 BrightnessValue | SRATIONAL | 1 | 1092502 | 100/100
1092088 | 0x9204 ExposureBiasValue | SRATIONAL | 1 | 1092510 | 0/10
1092100 | 0x9205 MaxApertureValue | RATIONAL | 1 | 1092518 | 16/10
1092112 | 0x9207 MeteringMode | SHORT | 1 | | 1
1092124 | 0x9208 LightSource | SHORT | 1 | | 0
1092136 | 0x9209 Flash | SHORT | 1 | | 24
1092148 | 0x920a FocalLength | RATIONAL | 1 | 1092526 | 43/10
1092160 | 0x927c MakerNote | UNDEFINED | 16 | 1092534 | .056....`.I.. .
Exiv2 exception in print action for file /home/hegny/photos/imback/Photo/dng/2025_0201_095437_011.dng:
tiff directory length is too large

It happens on 0.27.6 and on main.

Expected behavior
Unparsed maker notes (offset, length) should be shown

Desktop (please complete the following information):

  • OS and version: Debian Linux

  • Exiv2 version 0.27.6 from debian distro, and master from github.com on 2025-02-01

  • Compiler and version:gcc -v
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper
    OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
    OFFLOAD_TARGET_DEFAULT=1
    Target: x86_64-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
    Thread model: posix
    Supported LTO compression algorithms: zlib zstd
    gcc version 12.2.0 (Debian 12.2.0-14)

  • Compilation mode and/or compiler flags: cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug

Additional context

Add any other information about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bughelp wantedmakerNoteAnything related to one of the various supported MakerNote formats

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions