• Show log

    Commit

  • Hash : ad5a909c
    Author : Patrick Steinhardt
    Date : 2017-03-14T09:39:37

    patch_parse: fix parsing minimal trailing diff line
    
    In a diff, the shortest possible hunk with a modification (that is, no
    deletion) results from a file with only one line with a single character
    which is removed. Thus the following hunk
    
        @@ -1 +1 @@
        -a
        +
    
    is the shortest valid hunk modifying a line. The function parsing the
    hunk body though assumes that there must always be at least 4 bytes
    present to make up a valid hunk, which is obviously wrong in this case.
    The absolute minimum number of bytes required for a modification is
    actually 2 bytes, that is the "+" and the following newline. Note: if
    there is no trailing newline, the assumption will not be offended as the
    diff will have a line "\ No trailing newline" at its end.
    
    This patch fixes the issue by lowering the amount of bytes required.