summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel
diff options
context:
space:
mode:
authorAmlal El Mahrouss <113760121+amlel-el-mahrouss@users.noreply.github.com>2025-02-07 08:49:20 +0100
committerGitHub <noreply@github.com>2025-02-07 08:49:20 +0100
commitf2823580b142641a54114805f639b6d067d06f99 (patch)
tree36ad5af7c43e91f2254a660116e1b2064972f294 /dev/Kernel
parent8b73f2bac34c36a0ec008fb1e55aad77eb219afa (diff)
PATCH: SATA.cc: Fix buffer overflow.
Diffstat (limited to 'dev/Kernel')
-rw-r--r--dev/Kernel/HALKit/AMD64/Storage/SATA.cc10
1 files changed, 2 insertions, 8 deletions
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<NO, YES, YES>(0, identify_data, 0, kib_cast(8));
+ drv_std_input_output<NO, YES, YES>(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;
}
}