Skip to content

Commit 13836f9

Browse files
authored
fix(vulnfeeds): combine-2-osv panic with range 0 (#4988)
If there's no boundary version, there's a panic on an empty array.
1 parent 60fdb7a commit 13836f9

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

  • vulnfeeds/cmd/combine-to-osv

vulnfeeds/cmd/combine-to-osv/main.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,8 @@ func pickAffectedInformation(cve5Affected []*osvschema.Affected, nvdAffected []*
317317
newRange.Repo = repo
318318
newRange.Type = osvschema.Range_GIT // Preserve the repo
319319
newAffectedRanges = append(newAffectedRanges, newRange)
320+
} else {
321+
newAffectedRanges = cveRanges
320322
}
321323
} else {
322324
newAffectedRanges = cveRanges
@@ -348,7 +350,15 @@ func pickAffectedInformation(cve5Affected []*osvschema.Affected, nvdAffected []*
348350

349351
// sort by repo
350352
slices.SortFunc(combinedAffected, func(a, b *osvschema.Affected) int {
351-
return cmp.Compare(a.GetRanges()[0].GetRepo(), b.GetRanges()[0].GetRepo())
353+
var repoA, repoB string
354+
if len(a.GetRanges()) > 0 {
355+
repoA = a.GetRanges()[0].GetRepo()
356+
}
357+
if len(b.GetRanges()) > 0 {
358+
repoB = b.GetRanges()[0].GetRepo()
359+
}
360+
361+
return cmp.Compare(repoA, repoB)
352362
})
353363

354364
return combinedAffected

0 commit comments

Comments
 (0)