@@ -195,51 +195,52 @@ func gitVersionsToCommits(cveID cves.CVEID, versionRanges []osvschema.Range, rep
195
195
continue
196
196
}
197
197
for _ , vr := range versionRanges {
198
- var ic , fc , lac string
198
+ var introducedCommit , fixedCommit , lastAffectedCommit string
199
199
var err error
200
200
for _ , ev := range vr .Events {
201
201
logger .Info ("Attempting version resolution" , slog .String ("cve" , string (cveID )), slog .Any ("event" , ev ), slog .String ("repo" , repo ))
202
202
if ev .Introduced != "" {
203
203
if ev .Introduced == "0" {
204
- ic = "0"
204
+ introducedCommit = "0"
205
205
} else {
206
- ic , err = git .VersionToCommit (ev .Introduced , normalizedTags )
206
+ introducedCommit , err = git .VersionToCommit (ev .Introduced , normalizedTags )
207
207
if err != nil {
208
208
logger .Warn ("Failed to get Git commit for introduced version" , slog .String ("cve" , string (cveID )), slog .String ("version" , ev .Introduced ), slog .String ("repo" , repo ), slog .Any ("err" , err ))
209
209
} else {
210
- logger .Info ("Successfully derived commit for introduced version" , slog .String ("cve" , string (cveID )), slog .String ("commit" , ic ), slog .String ("version" , ev .Introduced ))
210
+ logger .Info ("Successfully derived commit for introduced version" , slog .String ("cve" , string (cveID )), slog .String ("commit" , introducedCommit ), slog .String ("version" , ev .Introduced ))
211
211
}
212
212
}
213
213
}
214
214
if ev .Fixed != "" {
215
215
// check if fixed commit doesnt already exist?
216
- fc , err = git .VersionToCommit (ev .Fixed , normalizedTags )
216
+ // todo: also check ref links for commits.
217
+ fixedCommit , err = git .VersionToCommit (ev .Fixed , normalizedTags )
217
218
if err != nil {
218
219
logger .Warn ("Failed to get Git commit for fixed version" , slog .String ("cve" , string (cveID )), slog .String ("version" , ev .Fixed ), slog .String ("repo" , repo ), slog .Any ("err" , err ))
219
220
} else {
220
- logger .Info ("Successfully derived commit for fixed version" , slog .String ("cve" , string (cveID )), slog .String ("commit" , fc ), slog .String ("version" , ev .Fixed ))
221
+ logger .Info ("Successfully derived commit for fixed version" , slog .String ("cve" , string (cveID )), slog .String ("commit" , fixedCommit ), slog .String ("version" , ev .Fixed ))
221
222
}
222
223
}
223
224
if ev .LastAffected != "" {
224
- lac , err = git .VersionToCommit (ev .LastAffected , normalizedTags )
225
+ lastAffectedCommit , err = git .VersionToCommit (ev .LastAffected , normalizedTags )
225
226
if err != nil {
226
227
logger .Warn ("Failed to get Git commit for last affected version" , slog .String ("cve" , string (cveID )), slog .String ("version" , ev .LastAffected ), slog .String ("repo" , repo ), slog .Any ("err" , err ))
227
228
} else {
228
- logger .Info ("Successfully derived commit for last affected version" , slog .String ("cve" , string (cveID )), slog .String ("commit" , lac ), slog .String ("version" , ev .LastAffected ))
229
+ logger .Info ("Successfully derived commit for last affected version" , slog .String ("cve" , string (cveID )), slog .String ("commit" , lastAffectedCommit ), slog .String ("version" , ev .LastAffected ))
229
230
}
230
231
}
231
232
}
232
- if fc != "" && ic != "" {
233
- newVR := buildVersionRange (ic , "" , fc )
233
+ if fixedCommit != "" && introducedCommit != "" {
234
+ newVR := buildVersionRange (introducedCommit , "" , fixedCommit )
234
235
newVR .Repo = repo
235
236
newVR .Type = osvschema .RangeGit
236
237
newVR .DatabaseSpecific = make (map [string ]any )
237
238
newVR .DatabaseSpecific ["versions" ] = vr .Events
238
239
newVersionRanges = append (newVersionRanges , newVR )
239
240
240
241
continue
241
- } else if lac != "" && ic != "" {
242
- newVR := buildVersionRange (ic , lac , "" )
242
+ } else if lastAffectedCommit != "" && introducedCommit != "" {
243
+ newVR := buildVersionRange (introducedCommit , lastAffectedCommit , "" )
243
244
newVR .Repo = repo
244
245
newVR .Type = osvschema .RangeGit
245
246
newVR .DatabaseSpecific = make (map [string ]any )
0 commit comments