diff --git a/test/data/exiv2_0-26_exiv2_uncontrolled-recursion_printIFDStructure.tif b/test/data/exiv2_0-26_exiv2_uncontrolled-recursion_printIFDStructure.tif new file mode 100644 index 00000000..9e50cf97 Binary files /dev/null and b/test/data/exiv2_0-26_exiv2_uncontrolled-recursion_printIFDStructure.tif differ diff --git a/tests/bugfixes/github/test_issue_216.py b/tests/bugfixes/github/test_issue_216.py new file mode 100644 index 00000000..7d7f29a0 --- /dev/null +++ b/tests/bugfixes/github/test_issue_216.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- + +import system_tests + + +class UncontrolledRecursion(metaclass=system_tests.CaseMeta): + url = "https://github.com/Exiv2/exiv2/issues/216" + + filename = system_tests.path( + "$data_path/" + "exiv2_0-26_exiv2_uncontrolled-recursion_printIFDStructure.tif" + ) + + commands = ["$exiv2 -pR $filename"] + retval = [1] + stdout = [ + """STRUCTURE OF TIFF FILE (MM): $filename + address | tag | type | count | offset | value + 10 | 0x0100 ImageWidth | SHORT | 1 | | 1 + 22 | 0x0103 Compression | SHORT | 0 | | + 34 | 000000 GPSVersionID | BYTE | 0 | | """ + ] + + compare_stderr = system_tests.check_no_ASAN_UBSAN_errors