@@ -19,6 +19,7 @@ import (
1919 criteriaTypes "github.com/MaineK00n/vuls-data-update/pkg/extract/types/data/detection/condition/criteria"
2020 criterionTypes "github.com/MaineK00n/vuls-data-update/pkg/extract/types/data/detection/condition/criteria/criterion"
2121 vcAffectedRangeTypes "github.com/MaineK00n/vuls-data-update/pkg/extract/types/data/detection/condition/criteria/criterion/versioncriterion/affected/range"
22+ "github.com/MaineK00n/vuls-data-update/pkg/extract/types/data/detection/condition/criteria/criterion/versioncriterion/fixstatus"
2223 vcPackageTypes "github.com/MaineK00n/vuls-data-update/pkg/extract/types/data/detection/condition/criteria/criterion/versioncriterion/package"
2324 segmentTypes "github.com/MaineK00n/vuls-data-update/pkg/extract/types/data/detection/segment"
2425 ecosystemTypes "github.com/MaineK00n/vuls-data-update/pkg/extract/types/data/detection/segment/ecosystem"
@@ -475,6 +476,10 @@ func walkCriteria(e ecosystemTypes.Ecosystem, sourceID sourceTypes.SourceID, ca
475476
476477 switch fcn .Criterion .Version .Package .Type {
477478 case vcPackageTypes .PackageTypeBinary , vcPackageTypes .PackageTypeSource :
479+ if ! cn .Criterion .Version .Vulnerable {
480+ continue
481+ }
482+
478483 rangeType , fixedIn := func () (vcAffectedRangeTypes.RangeType , string ) {
479484 if fcn .Criterion .Version .Affected == nil {
480485 return vcAffectedRangeTypes .RangeTypeUnknown , ""
@@ -496,8 +501,13 @@ func walkCriteria(e ecosystemTypes.Ecosystem, sourceID sourceTypes.SourceID, ca
496501 }
497502 return fixState (e , sourceID , fcn .Criterion .Version .FixStatus .Vendor )
498503 }(),
499- FixedIn : fixedIn ,
500- NotFixedYet : fixedIn == "" ,
504+ FixedIn : fixedIn ,
505+ NotFixedYet : func () bool {
506+ if cn .Criterion .Version .FixStatus == nil {
507+ return true
508+ }
509+ return cn .Criterion .Version .FixStatus .Class != fixstatus .ClassFixed
510+ }(),
501511 },
502512 })
503513 }
0 commit comments