Skip to content

Commit f3a65cb

Browse files
committed
Update compute_content_id to ensure it works correctly and creates an advisory when it has severities, patches, references_v2, and an advisory_id
Signed-off-by: ziad hany <ziadhany2016@gmail.com>
1 parent 4cb2579 commit f3a65cb

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

vulnerabilities/importer.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,9 @@ def __lt__(self, other):
271271

272272
def _cmp_key(self):
273273
return (
274-
self.patch_url,
275-
self.patch_text,
276-
self.patch_checksum,
274+
self.patch_url or "",
275+
self.patch_text or "",
276+
self.patch_checksum or "",
277277
)
278278

279279
def to_dict(self) -> dict:

vulnerabilities/utils.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -633,8 +633,9 @@ def compute_content_id(advisory_data):
633633
normalized_data["url"] = advisory_data.url
634634

635635
elif isinstance(advisory_data, AdvisoryData):
636-
if advisory_data.references_v2:
636+
if advisory_data.references_v2 or advisory_data.severities or advisory_data.patches:
637637
normalized_data = {
638+
"advisory_id": normalize_text(advisory_data.advisory_id),
638639
"aliases": normalize_list(advisory_data.aliases),
639640
"summary": normalize_text(advisory_data.summary),
640641
"affected_packages": [
@@ -646,6 +647,9 @@ def compute_content_id(advisory_data):
646647
"severities": [
647648
sev.to_dict() for sev in normalize_list(advisory_data.severities) if sev
648649
],
650+
"patches": [
651+
patch.to_dict() for patch in normalize_list(advisory_data.patches) if patch
652+
],
649653
"weaknesses": normalize_list(advisory_data.weaknesses),
650654
}
651655
elif advisory_data.references or advisory_data.references == []:
@@ -665,7 +669,6 @@ def compute_content_id(advisory_data):
665669

666670
normalized_json = json.dumps(normalized_data, separators=(",", ":"), sort_keys=True)
667671
content_id = hashlib.sha256(normalized_json.encode("utf-8")).hexdigest()
668-
669672
return content_id
670673

671674

0 commit comments

Comments
 (0)