• Show log

    Commit

  • Hash : 41863a00
    Author : Patrick Steinhardt
    Date : 2018-10-29T17:19:58

    strntol: fix out-of-bounds read when skipping leading spaces
    
    The `git__strntol` family of functions accepts leading spaces and will
    simply skip them. The skipping will not honor the provided buffer's
    length, though, which may lead it to read outside of the provided
    buffer's bounds if it is not a simple NUL-terminated string.
    Furthermore, if leading space is trimmed, the function will further
    advance the pointer but not update the number of remaining bytes, which
    may also lead to out-of-bounds reads.
    
    Fix the issue by properly paying attention to the buffer length and
    updating it when stripping leading whitespace characters. Add a test
    that verifies that we won't read past the provided buffer length.