go-git
go-git copied to clipboard
plumbing: gitattributes, Avoid index out of range
When a path is deeper than the single asterisk pattern the code would crash with a "index out of range".
This change checks the length of the remaining pattern before it references an element of that slice.
With a single trailing asterisk paths deeper than the pattern should not get the attributes.
For example with the following .gitattributes file:
thirdparty/* linguist-vendored
This is how git handles it:
$ git check-attr --all thirdparty/README.md
thirdparty/README.md: diff: markdown
thirdparty/README.md: linguist-vendored: set
$ git check-attr --all thirdparty/package/README.md
thirdparty/package/README.md: diff: markdown
@mcuadros Would you consider this small bug fix?
Good catch, thank you for the contribution!