• Show log

    Commit

  • Hash : 66e3774d
    Author : Patrick Steinhardt
    Date : 2016-11-15T11:36:27

    smart_pkt: verify packet length exceeds PKT_LEN_SIZE
    
    Each packet line in the Git protocol is prefixed by a four-byte
    length of how much data will follow, which we parse in
    `git_pkt_parse_line`. The transmitted length can either be equal
    to zero in case of a flush packet or has to be at least of length
    four, as it also includes the encoded length itself. Not
    checking this may result in a buffer overflow as we directly pass
    the length to functions which accept a `size_t` length as
    parameter.
    
    Fix the issue by verifying that non-flush packets have at least a
    length of `PKT_LEN_SIZE`.