From f2823580b142641a54114805f639b6d067d06f99 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss <113760121+amlel-el-mahrouss@users.noreply.github.com> Date: Fri, 7 Feb 2025 08:49:20 +0100 Subject: PATCH: SATA.cc: Fix buffer overflow. --- dev/Kernel/HALKit/AMD64/Storage/SATA.cc | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'dev') diff --git a/dev/Kernel/HALKit/AMD64/Storage/SATA.cc b/dev/Kernel/HALKit/AMD64/Storage/SATA.cc index dc60a723..dd71b3d7 100644 --- a/dev/Kernel/HALKit/AMD64/Storage/SATA.cc +++ b/dev/Kernel/HALKit/AMD64/Storage/SATA.cc @@ -61,7 +61,7 @@ static Kernel::Void drv_calculate_disk_geometry() noexcept Kernel::UInt8 identify_data[kib_cast(4)] = {}; - drv_std_input_output(0, identify_data, 0, kib_cast(8)); + drv_std_input_output(0, identify_data, 0, kib_cast(4)); kCurrentDiskSectorCount = (identify_data[61] << 16) | identify_data[60]; @@ -99,8 +99,6 @@ Kernel::Boolean drv_std_init(Kernel::UInt16& PortsImplemented) const Kernel::UInt8 kAhciPresent = 0x03; const Kernel::UInt8 kAhciIPMActive = 0x01; - Kernel::Boolean detected = false; - while (ahci_index < kMaxPortsImplemented) { if (ports_implemented) @@ -133,17 +131,13 @@ Kernel::Boolean drv_std_init(Kernel::UInt16& PortsImplemented) drv_calculate_disk_geometry(); - detected = YES; - - break; + return YES; } } ports_implemented >>= 1; ++ahci_index; } - - return detected; } } -- cgit v1.2.3