diff --git a/cve_bin_tool/sbom_manager/__init__.py b/cve_bin_tool/sbom_manager/__init__.py index a8aeae0932..032a3eaf5b 100644 --- a/cve_bin_tool/sbom_manager/__init__.py +++ b/cve_bin_tool/sbom_manager/__init__.py @@ -1,7 +1,6 @@ # Copyright (C) 2021 Anthony Harrison # SPDX-License-Identifier: GPL-3.0-or-later -import sqlite3 from collections import defaultdict from logging import Logger from typing import DefaultDict, Dict, List, Optional @@ -83,21 +82,11 @@ def scan_file(self) -> Dict[ProductInfo, TriageData]: return self.sbom_data def get_vendor(self, product: str) -> Optional[str]: - self.cvedb.db_open() - if not self.cvedb.connection: - raise ConnectionError() - self.cursor = self.cvedb.connection.cursor() - get_vendor_request = "SELECT DISTINCT VENDOR FROM cve_range where PRODUCT=?" - self.cursor.execute(get_vendor_request, [product]) - try: - # If multiple unique vendors then shouldn't proceed.... - vendor = self.cursor.fetchone()[0] - # print(f"{product} is produced by {vendor}") - except (sqlite3.Error, TypeError) as e: - LOGGER.debug(e, exc_info=True) - vendor = None - self.cvedb.db_close() - return vendor + vendor_package_pair = self.cvedb.get_vendor_product_pairs(product) + if vendor_package_pair != []: + vendor = vendor_package_pair[0]["vendor"] + return vendor + return None if __name__ == "__main__":