1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 12:38:12 +00:00

Kernel: Handle string format errors in PCIDeviceAttributeSysFSComponent

This commit is contained in:
Brian Gianforcaro 2021-11-29 03:02:55 -08:00 committed by Andreas Kling
parent 74ee491b84
commit 1f65728d8b

View file

@ -73,21 +73,21 @@ ErrorOr<size_t> PCIDeviceAttributeSysFSComponent::read_bytes(off_t offset, size_
ErrorOr<NonnullOwnPtr<KBuffer>> PCIDeviceAttributeSysFSComponent::try_to_generate_buffer() const
{
String value;
OwnPtr<KString> value;
switch (m_field_bytes_width) {
case 1:
value = String::formatted("{:#x}", PCI::read8(m_device->address(), m_offset));
value = TRY(KString::formatted("{:#x}", PCI::read8(m_device->address(), m_offset)));
break;
case 2:
value = String::formatted("{:#x}", PCI::read16(m_device->address(), m_offset));
value = TRY(KString::formatted("{:#x}", PCI::read16(m_device->address(), m_offset)));
break;
case 4:
value = String::formatted("{:#x}", PCI::read32(m_device->address(), m_offset));
value = TRY(KString::formatted("{:#x}", PCI::read32(m_device->address(), m_offset)));
break;
default:
VERIFY_NOT_REACHED();
}
return KBuffer::try_create_with_bytes(value.substring_view(0).bytes());
return KBuffer::try_create_with_bytes(value->view().bytes());
}
}