Browse Source

Kernel: Handle string format errors in PCIDeviceAttributeSysFSComponent

Brian Gianforcaro 3 năm trước cách đây
mục cha
commit
1f65728d8b
1 tập tin đã thay đổi với 5 bổ sung5 xóa
  1. 5 5
      Kernel/Bus/PCI/SysFSPCI.cpp

+ 5 - 5
Kernel/Bus/PCI/SysFSPCI.cpp

@@ -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());
 }
 }