Skip to content

Commit 3362f36

Browse files
authored
ensure fetching entries from the fixdates db is case insensitive (#873)
Signed-off-by: Alex Goodman <[email protected]>
1 parent 2706da7 commit 3362f36

File tree

2 files changed

+310
-295
lines changed

2 files changed

+310
-295
lines changed

src/vunnel/tool/fixdate/first_observed.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,17 +111,18 @@ def get(
111111

112112
# build query - if cpe_or_package looks like a CPE, search by full_cpe, otherwise by package_name
113113
query = table.select().where(
114-
(table.c.vuln_id == vuln_id) & (table.c.provider == self.provider),
114+
(table.c.vuln_id.collate("NOCASE") == vuln_id) & (table.c.provider.collate("NOCASE") == self.provider),
115115
)
116116

117-
if cpe_or_package.startswith("cpe:"):
118-
query = query.where(table.c.full_cpe == cpe_or_package)
117+
if cpe_or_package.lower().startswith("cpe:"):
118+
query = query.where(table.c.full_cpe.collate("NOCASE") == cpe_or_package)
119119
else:
120120
query = query.where(
121-
(table.c.package_name.collate("NOCASE") == normalize_package_name(cpe_or_package, ecosystem)) & (table.c.full_cpe == ""),
121+
(table.c.package_name.collate("NOCASE") == normalize_package_name(cpe_or_package, ecosystem))
122+
& (table.c.full_cpe.collate("NOCASE") == ""),
122123
)
123124
if ecosystem:
124-
query = query.where(table.c.ecosystem == ecosystem)
125+
query = query.where(table.c.ecosystem.collate("NOCASE") == ecosystem)
125126

126127
if fix_version:
127128
query = query.where(table.c.fix_version == fix_version)

0 commit comments

Comments
 (0)