From 906d3e9f44dee00d2cbc27577dc7f836b464ab72 Mon Sep 17 00:00:00 2001 From: Jesse Buhagiar Date: Fri, 18 Jun 2021 23:18:22 +1000 Subject: [PATCH] LibUSBDB: Fix vendor id decoding This was broken because the whole line was being passed in instead of a substring.. --- Userland/Libraries/LibUSBDB/Database.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibUSBDB/Database.cpp b/Userland/Libraries/LibUSBDB/Database.cpp index 952423a144..e42a0fa03f 100644 --- a/Userland/Libraries/LibUSBDB/Database.cpp +++ b/Userland/Libraries/LibUSBDB/Database.cpp @@ -161,12 +161,12 @@ int Database::init() if (line[0] != '\t') { commit_vendor(); current_vendor = make(); - current_vendor->id = AK::StringUtils::convert_to_uint_from_hex(line).value_or(0); + current_vendor->id = AK::StringUtils::convert_to_uint_from_hex(line.substring_view(0, 4)).value_or(0); current_vendor->name = line.substring_view(6, line.length() - 6); } else if (line[0] == '\t' && line[1] != '\t') { commit_device(); current_device = make(); - current_device->id = AK::StringUtils::convert_to_uint_from_hex((line.substring_view(1, line.length() - 1))).value_or(0); + current_device->id = AK::StringUtils::convert_to_uint_from_hex((line.substring_view(1, 4))).value_or(0); current_device->name = line.substring_view(7, line.length() - 7); } else if (line[0] == '\t' && line[1] == '\t') { auto interface = make();