Skip to content

Commit d1cb4db

Browse files
refactor: find SBOM product vendor (#1477) (#1481)
1 parent ceef627 commit d1cb4db

File tree

1 file changed

+5
-16
lines changed

1 file changed

+5
-16
lines changed

cve_bin_tool/sbom_manager/__init__.py

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Copyright (C) 2021 Anthony Harrison
22
# SPDX-License-Identifier: GPL-3.0-or-later
33

4-
import sqlite3
54
from collections import defaultdict
65
from logging import Logger
76
from typing import DefaultDict, Dict, List, Optional
@@ -83,21 +82,11 @@ def scan_file(self) -> Dict[ProductInfo, TriageData]:
8382
return self.sbom_data
8483

8584
def get_vendor(self, product: str) -> Optional[str]:
86-
self.cvedb.db_open()
87-
if not self.cvedb.connection:
88-
raise ConnectionError()
89-
self.cursor = self.cvedb.connection.cursor()
90-
get_vendor_request = "SELECT DISTINCT VENDOR FROM cve_range where PRODUCT=?"
91-
self.cursor.execute(get_vendor_request, [product])
92-
try:
93-
# If multiple unique vendors then shouldn't proceed....
94-
vendor = self.cursor.fetchone()[0]
95-
# print(f"{product} is produced by {vendor}")
96-
except (sqlite3.Error, TypeError) as e:
97-
LOGGER.debug(e, exc_info=True)
98-
vendor = None
99-
self.cvedb.db_close()
100-
return vendor
85+
vendor_package_pair = self.cvedb.get_vendor_product_pairs(product)
86+
if vendor_package_pair != []:
87+
vendor = vendor_package_pair[0]["vendor"]
88+
return vendor
89+
return None
10190

10291

10392
if __name__ == "__main__":

0 commit comments

Comments
 (0)