Skip to content

Commit ffab6af

Browse files
committed
updated from_dict to return None if a package has no version range.
Signed-off-by: Jan-Niclas Struewer <j.n.struewer@gmail.com>
1 parent 16af83f commit ffab6af

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

vulnerabilities/importer.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,9 +214,12 @@ def from_dict(cls, affected_pkg: dict):
214214
affected_pkg["affected_version_range"]
215215
and affected_pkg["affected_version_range"] != "None"
216216
):
217-
affected_version_range = VersionRange.from_string(
218-
affected_pkg["affected_version_range"]
219-
)
217+
try:
218+
affected_version_range = VersionRange.from_string(
219+
affected_pkg["affected_version_range"]
220+
)
221+
except:
222+
return None
220223
fixed_version = affected_pkg["fixed_version"]
221224
if fixed_version and affected_version_range:
222225
# TODO: revisit after https://github.com/nexB/univers/issues/10
@@ -270,7 +273,7 @@ def from_dict(cls, advisory_data):
270273
"aliases": advisory_data["aliases"],
271274
"summary": advisory_data["summary"],
272275
"affected_packages": [
273-
AffectedPackage.from_dict(pkg) for pkg in advisory_data["affected_packages"]
276+
AffectedPackage.from_dict(pkg) for pkg in advisory_data["affected_packages" if pkg is not None]
274277
],
275278
"references": [Reference.from_dict(ref) for ref in advisory_data["references"]],
276279
"date_published": datetime.datetime.fromisoformat(date_published)

vulnerabilities/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -826,7 +826,7 @@ def to_advisory_data(self) -> AdvisoryData:
826826
return AdvisoryData(
827827
aliases=self.aliases,
828828
summary=self.summary,
829-
affected_packages=[AffectedPackage.from_dict(pkg) for pkg in self.affected_packages],
829+
affected_packages=[AffectedPackage.from_dict(pkg) for pkg in self.affected_packages if pkg is not None],
830830
references=[Reference.from_dict(ref) for ref in self.references],
831831
date_published=self.date_published,
832832
weaknesses=self.weaknesses,

0 commit comments

Comments
 (0)