Skip to content

Commit f9f4bc0

Browse files
authored
Merge pull request #639 from Hritik14/bugfix
Make sure fixed purl is optional in Inference
2 parents 2f9b863 + 80579a5 commit f9f4bc0

2 files changed

Lines changed: 11 additions & 10 deletions

File tree

vulnerabilities/improve_runner.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,15 @@ def process_inferences(inferences: List[Inference], advisory: Advisory, improver
8686
fix=False,
8787
).update_or_create()
8888

89-
fixed_package, _ = _get_or_create_package(inference.fixed_purl)
90-
models.PackageRelatedVulnerability(
91-
vulnerability=vuln,
92-
package=fixed_package,
93-
created_by=improver_name,
94-
confidence=inference.confidence,
95-
fix=True,
96-
).update_or_create()
89+
if inference.fixed_purl:
90+
fixed_package, _ = _get_or_create_package(inference.fixed_purl)
91+
models.PackageRelatedVulnerability(
92+
vulnerability=vuln,
93+
package=fixed_package,
94+
created_by=improver_name,
95+
confidence=inference.confidence,
96+
fix=True,
97+
).update_or_create()
9798

9899
advisory.date_improved = datetime.now(timezone.utc)
99100
advisory.save()

vulnerabilities/improver.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class Inference:
3131
confidence: int = MAX_CONFIDENCE
3232
summary: Optional[str] = None
3333
affected_purls: List[PackageURL] = dataclasses.field(default_factory=list)
34-
fixed_purl: PackageURL = dataclasses.field(default_factory=list)
34+
fixed_purl: PackageURL = None
3535
references: List[Reference] = dataclasses.field(default_factory=list)
3636

3737
def __post_init__(self):
@@ -49,7 +49,7 @@ def __post_init__(self):
4949

5050
versionless_purls = []
5151
for purl in self.affected_purls + [self.fixed_purl]:
52-
if not purl.version:
52+
if purl and not purl.version:
5353
versionless_purls.append(purl)
5454

5555
assert (

0 commit comments

Comments
 (0)