Skip to content

Commit 80fdcf1

Browse files
committed
Correct logic got non vuln versions
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent 6f83f06 commit 80fdcf1

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

vulnerabilities/models.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3790,9 +3790,25 @@ def get_non_vulnerable_versions(self):
37903790
if self.version_rank == 0:
37913791
self.calculate_version_rank
37923792

3793+
evaluated = Exists(
3794+
ImpactedPackageFixedBy.objects.filter(
3795+
package_id=OuterRef("pk"),
3796+
impacted_package__advisory__is_latest=True,
3797+
impacted_package__advisory___all_impacts_unfurled_at__isnull=False,
3798+
)
3799+
)
3800+
vulnerable = Exists(
3801+
ImpactedPackageAffecting.objects.filter(
3802+
package_id=OuterRef("pk"),
3803+
impacted_package__advisory__is_latest=True,
3804+
impacted_package__advisory___all_impacts_unfurled_at__isnull=False,
3805+
)
3806+
)
3807+
37933808
qs = (
37943809
PackageV2.objects.get_fixed_by_package_versions(self, fix=False)
3795-
.only_non_vulnerable()
3810+
.annotate(evaluated=evaluated, vulnerable=vulnerable)
3811+
.filter(evaluated=True, vulnerable=False)
37963812
.filter(version_rank__gt=self.version_rank)
37973813
.order_by("version_rank")
37983814
)

0 commit comments

Comments
 (0)