Blob Blame History Raw
# -*- coding: utf-8 -*-

from system_tests import CaseMeta, path
import unittest

@unittest.skip("Skipping test using option -pR (only for Debug mode)")
class SegmentationFaultPngImage(metaclass=CaseMeta):
    """
    Regression test for the bug described in:
    https://github.com/Exiv2/exiv2/issues/828
    """
    url = "https://github.com/Exiv2/exiv2/issues/828"

    filename = path("$data_path/issue_828_poc.png")
    commands = ["$exiv2 -pR $filename"]
    stdout = ["""STRUCTURE OF PNG FILE: $filename
 address | chunk |  length | data                           | checksum
       8 | IHDR  |      13 | .............                  | 0x085f152d
      33 | gAMA  |       4 | ....                           | 0x0bfc6105
      49 | PLTE  |     717 | .........].....Y..q..}..q..y.. | 0x7b35a4a5
     778 | tRNS  |     238 | -U...............}...=..e..... | 0xebd29012
    1028 | bKGD  |       1 | .                              | 0xcfb7d237
    1041 | tEXt  |      14 | Title.IceAlpha                 | 0xc562f8cb
    1067 | tEXt  |      31 | Author.Pieter S. van der Meule | 0x6bfe26a8
    1110 | tEXt  |     411 | Description.The original image | 0xe12effe4
"""
]
    stderr = [
        """$exiv2_exception_message $filename:
$kerCorruptedMetadata
"""]
    retval = [1]