Fix nil pointer in codeclimate.go (#1077)

Some issues don't have any source lines
This commit is contained in:
☃ Elliot Shepherd 2020-05-12 05:10:39 +10:00 committed by GitHub
parent 206d79fb21
commit c88df8f473
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -39,9 +39,14 @@ func (p CodeClimate) Print(ctx context.Context, issues []result.Issue) error {
issue.Location.Path = i.Pos.Filename
issue.Location.Lines.Begin = i.Pos.Line
// Need a checksum of the issue, so we use MD5 of the filename, text, and first line of source
// Need a checksum of the issue, so we use MD5 of the filename, text, and first line of source if there is any
var firstLine string
if len(i.SourceLines) > 0 {
firstLine = i.SourceLines[0]
}
hash := md5.New() //nolint:gosec
_, _ = hash.Write([]byte(i.Pos.Filename + i.Text + i.SourceLines[0]))
_, _ = hash.Write([]byte(i.Pos.Filename + i.Text + firstLine))
issue.Fingerprint = fmt.Sprintf("%X", hash.Sum(nil))
allIssues = append(allIssues, issue)