Skip to content

Commit 264aef0

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 8910bb1 commit 264aef0

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

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
@@ -623,8 +623,9 @@ def compute_content_id(advisory_data):
623623
normalized_data["url"] = advisory_data.url
624624

625625
elif isinstance(advisory_data, AdvisoryData):
626-
if advisory_data.references_v2:
626+
if advisory_data.references_v2 or advisory_data.severities or advisory_data.patches:
627627
normalized_data = {
628+
"advisory_id": normalize_text(advisory_data.advisory_id),
628629
"aliases": normalize_list(advisory_data.aliases),
629630
"summary": normalize_text(advisory_data.summary),
630631
"affected_packages": [
@@ -636,6 +637,9 @@ def compute_content_id(advisory_data):
636637
"severities": [
637638
sev.to_dict() for sev in normalize_list(advisory_data.severities) if sev
638639
],
640+
"patches": [
641+
patch.to_dict() for patch in normalize_list(advisory_data.patches) if patch
642+
],
639643
"weaknesses": normalize_list(advisory_data.weaknesses),
640644
}
641645
elif advisory_data.references or advisory_data.references == []:
@@ -655,7 +659,6 @@ def compute_content_id(advisory_data):
655659

656660
normalized_json = json.dumps(normalized_data, separators=(",", ":"), sort_keys=True)
657661
content_id = hashlib.sha256(normalized_json.encode("utf-8")).hexdigest()
658-
659662
return content_id
660663

661664

0 commit comments

Comments
 (0)