Skip to content

Commit

Permalink
fixing eof location bug (#756)
Browse files Browse the repository at this point in the history
  • Loading branch information
zricethezav committed Dec 17, 2021
1 parent 0f2ffee commit 3d3d801
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
12 changes: 12 additions & 0 deletions detect/detect_test.go
Expand Up @@ -34,6 +34,10 @@ func TestDetectFindings(t *testing.T) {
File: "tmp.go",
RuleID: "aws-access-key",
Tags: []string{"key", "AWS"},
StartLine: 1,
EndLine: 1,
StartColumn: 15,
EndColumn: 34,
},
},
},
Expand Down Expand Up @@ -69,6 +73,10 @@ func TestDetectFindings(t *testing.T) {
RuleID: "discord-api-key",
Tags: []string{},
Entropy: 3.7906237,
StartLine: 1,
EndLine: 1,
StartColumn: 7,
EndColumn: 93,
},
},
},
Expand All @@ -91,6 +99,10 @@ func TestDetectFindings(t *testing.T) {
RuleID: "generic-api-key",
Tags: []string{},
Entropy: 3.7906237,
StartLine: 1,
EndLine: 1,
StartColumn: 22,
EndColumn: 93,
},
},
},
Expand Down
14 changes: 13 additions & 1 deletion detect/location.go
Expand Up @@ -14,11 +14,15 @@ func getLocation(linePairs [][]int, start int, end int) Location {
var (
prevNewLine int
location Location
lineSet bool
_lineNum int
)

for lineNum, pair := range linePairs {
_lineNum = lineNum
newLineByteIndex := pair[0]
if prevNewLine <= start && start < newLineByteIndex {
lineSet = true
location.startLine = lineNum
location.endLine = lineNum
location.startColumn = (start - prevNewLine) + 1 // +1 because counting starts at 1
Expand All @@ -30,9 +34,17 @@ func getLocation(linePairs [][]int, start int, end int) Location {
location.endColumn = (end - prevNewLine)
location.endLineIndex = newLineByteIndex
}

prevNewLine = pair[0]
}

if !lineSet {
// if lines never get set then that means the secret is most likely
// on the last line of the diff output and the diff output does not have
// a newline
location.startColumn = (start - prevNewLine) + 1 // +1 because counting starts at 1
location.endColumn = (end - prevNewLine)
location.startLine = _lineNum + 1
location.endLine = _lineNum + 1
}
return location
}

0 comments on commit 3d3d801

Please sign in to comment.