:: commit f6b393b5d0e64d5b468210d695279874dbf66fb9

Mintsuki <mintsuki@protonmail.com> — 2026-02-04 00:18

parents: 1023de329a

drivers/disk: Work around PicoEFI structure definition issue in volume_by_device_path()

diff --git a/common/drivers/disk.s2.c b/common/drivers/disk.s2.c
index 055342cd..94e331be 100644
--- a/common/drivers/disk.s2.c
+++ b/common/drivers/disk.s2.c
@@ -555,7 +555,8 @@ static struct volume *volume_by_device_path(EFI_HANDLE query_handle) {
             while (!IsDevicePathEnd(qp)) {
                 if (qp->Type == MEDIA_DEVICE_PATH && qp->SubType == MEDIA_HARDDRIVE_DP) {
                     uint16_t len = DevicePathNodeLength(qp);
-                    if (len < sizeof(HARDDRIVE_DEVICE_PATH)) {
+                    // UEFI spec size is 42 bytes, but sizeof() may be larger due to padding
+                    if (len < 42) {
                         break;
                     }
                     HARDDRIVE_DEVICE_PATH *query_hd = (HARDDRIVE_DEVICE_PATH *)qp;
tab: 248 wrap: offon