Mercurial > farol > farolluz
diff farolluz/cvrf.py @ 13:db2a02fff101
Improve validation
author | Benoît Allard <benoit.allard@greenbone.net> |
---|---|
date | Wed, 08 Oct 2014 14:49:49 +0200 |
parents | cb8b2a196f0b |
children | 640b88744523 |
line wrap: on
line diff
--- a/farolluz/cvrf.py Wed Oct 08 12:48:32 2014 +0200 +++ b/farolluz/cvrf.py Wed Oct 08 14:49:49 2014 +0200 @@ -685,10 +685,21 @@ cwe.validate() for status in self._productstatuses: status.validate(productids) + pids = set() + for status in self._productstatuses: + for pid in status._productids: + if pid in pids: + raise ValidationError('ProductID %s mentionned in two different ProductStatuses for Vulnerability %d' % (pid, self._ordinal)) + pids.add(pid) for threat in self._threats: threat.validate(productids, groupids) for cvss in self._cvsss: cvss.validate(productids) + for cvss in self._cvsss: + for pid in (cvss._productids or productids): + if pid in pids: + raise ValidationError('ProductID %s mentionned in two different CVSS Score Sets for Vulnerability %d' % (pid, self._ordinal)) + pids.add(pid) for remediation in self._remediations: remediation.validate(productids, groupids) for reference in self._references: