1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 13:17:35 +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 ErrorOr<NonnullOwnPtr<KBuffer>> PCIDeviceAttributeSysFSComponent::try_to_generate_buffer() const
{ {
String value; OwnPtr<KString> value;
switch (m_field_bytes_width) { switch (m_field_bytes_width) {
case 1: 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; break;
case 2: 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; break;
case 4: 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; break;
default: default:
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }
return KBuffer::try_create_with_bytes(value.substring_view(0).bytes()); return KBuffer::try_create_with_bytes(value->view().bytes());
} }
} }