Project: exiv2 (exiv2/exiv2), language: c++
Vulnerability instance: exiv2.cve-2020-18898
Sanitizer: address

================= Bug Report (1/1) ==================
## Source: GitHub Issue
## URL: https://github.com/Exiv2/exiv2/issues/741
## Description:
Issue: Exiv2/exiv2#741
Title: [bug report] Stack Exhaustion Caused By Exiv2::Image::printIFDStructure function in image.cpp, making Recursive Calls to Itself
State: closed
Created by: wcventure
Created at: 2019-03-13 08:57:11+00:00
Labels: wontfix

Issue Body:
Hi there,

An issue was discovered in Exiv2::Image::printIFDStructure function in image.cpp, as distributed in master and version 0.27. There is a stack exhaustion problem caused by the in printIFDStructure function making recursive calls to itself.

Here is the POC file. Please use the “./exiv2 -pR $POC” to reproduce the bug.
[POC.zip](https://github.com/Exiv2/exiv2/files/2960549/POC.zip)

The ASAN dumps the stack trace as follows:
```
ASAN:DEADLYSIGNAL
=================================================================
==621==ERROR: AddressSanitizer: stack-overflow on address 0x7ffcbaecbff8 (pc 0x0000004d6c3f bp 0x0ff43348f15c sp 0x7ffcbaecc000 T0)
    #0 0x4d6c3e in __sanitizer::mem_is_zero(char const*, unsigned long) (/exiv2/build/bin/exiv2+0x4d6c3e)
    #1 0x4c0f11 in __asan_region_is_poisoned (/exiv2/build/bin/exiv2+0x4c0f11)
    #2 0x466332 in printf_common(void*, char const*, __va_list_tag*) (/exiv2/build/bin/exiv2+0x466332)
    #3 0x468dbd in __interceptor_vsnprintf (/exiv2/build/bin/exiv2+0x468dbd)
    #4 0x7fa19a17fcde in Exiv2::Internal::stringFormat[abi:cxx11](char const*, ...) /exiv2/src/image_int.cpp:48:23
    #5 0x7fa199f05fe5 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:415:24
    #6 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #7 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #8 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #9 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #10 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #11 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #12 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #13 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #14 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #15 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #16 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #17 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #18 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #19 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #20 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #21 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #22 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #23 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #24 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #25 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #26 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #27 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #28 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #29 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #30 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #31 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #32 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #33 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #34 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #35 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #36 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #37 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #38 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #39 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #40 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #41 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #42 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #43 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #44 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #45 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #46 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #47 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #48 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #49 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #50 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #51 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #52 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #53 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #54 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #55 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #56 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #57 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #58 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #59 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #60 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #61 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #62 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #63 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #64 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #65 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #66 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #67 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #68 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #69 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #70 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #71 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #72 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #73 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #74 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #75 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #76 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #77 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #78 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #79 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #80 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #81 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #82 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #83 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #84 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #85 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #86 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #87 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #88 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #89 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #90 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #91 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #92 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #93 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #94 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #95 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #96 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #97 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #98 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #99 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #100 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #101 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #102 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #103 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #104 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #105 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #106 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #107 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #108 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #109 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #110 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #111 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #112 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #113 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #114 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #115 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #116 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #117 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #118 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #119 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #120 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #121 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #122 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #123 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #124 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #125 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #126 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #127 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #128 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #129 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #130 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #131 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #132 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #133 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #134 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #135 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #136 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #137 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #138 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #139 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #140 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #141 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #142 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #143 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #144 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #145 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #146 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #147 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #148 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #149 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #150 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #151 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #152 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #153 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #154 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #155 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #156 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #157 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #158 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #159 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #160 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #161 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #162 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #163 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #164 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #165 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #166 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #167 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #168 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #169 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #170 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #171 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #172 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #173 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #174 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #175 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #176 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #177 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #178 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #179 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #180 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #181 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #182 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #183 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #184 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #185 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #186 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #187 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #188 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #189 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #190 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #191 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #192 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #193 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #194 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #195 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #196 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #197 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #198 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #199 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #200 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #201 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #202 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #203 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #204 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #205 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #206 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #207 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #208 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #209 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #210 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #211 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #212 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #213 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #214 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #215 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #216 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #217 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #218 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #219 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #220 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #221 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #222 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #223 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #224 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #225 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #226 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #227 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #228 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #229 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #230 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #231 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #232 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #233 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #234 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #235 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #236 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #237 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #238 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #239 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #240 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #241 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #242 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #243 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #244 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #245 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #246 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #247 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #248 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #249 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #250 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29
    #251 0x7fa199f08468 in Exiv2::Image::printIFDStructure(Exiv2::BasicIo&, std::ostream&, Exiv2::PrintStructureOption, unsigned int, bool, char, int) /exiv2/src/image.cpp:446:29

SUMMARY: AddressSanitizer: stack-overflow (/exiv2/build/bin/exiv2+0x4d6c3e) in __sanitizer::mem_is_zero(char const*, unsigned long)
==621==ABORTING

```



Comments:
Comment by D4N on 2019-03-13 09:23:40+00:00:
Hi @wcventure, thanks for your report. 

However, `-pR` is a debugging only function, that has known issues and is for that reason disabled in release builds. I.e. you should be only using it on a "good" file with a debug build. We plan on removing it completely and will therefore not fix any issues inside it.

Attachments:
https://github.com/Exiv2/exiv2/files/2960549/POC.zip

Build script:
#!/bin/bash -eu
# Minimized build script with only core build commands
set -eu
mkdir -p build
cd build
cmake -DEXIV2_ENABLE_PNG=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_CURL=OFF -DEXIV2_ENABLE_BMFF=ON -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_CXX_FLAGS="${CXXFLAGS}" -DEXIV2_BUILD_FUZZ_TESTS=ON -DEXIV2_TEAM_OSS_FUZZ=ON -DLIB_FUZZING_ENGINE="${LIB_FUZZING_ENGINE}" ..
make -j $(nproc)

Dockerfile:
FROM hwiwonlee/secb.base:latest
RUN apt-get update && apt-get install -y cmake make ccache python3 libexpat1-dev zlib1g-dev libssh-dev libcurl4-openssl-dev libxml2-utils
RUN git clone https://github.com/exiv2/exiv2 exiv2
RUN git -C exiv2 checkout 62826516778b96da5ddb38f5ec1499dc76994a6f
WORKDIR $SRC/exiv2
COPY build.sh $SRC/

Additional files: