소스 검색

Kernel: Handle string format errors in PCIDeviceAttributeSysFSComponent

Brian Gianforcaro 3 년 전
부모
커밋
1f65728d8b
1개의 변경된 파일5개의 추가작업 그리고 5개의 파일을 삭제
  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());
 }
 }