:: commit 690c3ccee9fa995b3636ca2abf7ef81306652afd

beakeyz <joost.van.haag@gmail.com> — 2022-11-18 22:28

parents: a94a0f59c6

Fixed little memory leak in the UEFI build that would make the bootloader crash on systems with larger disks

diff --git a/common/drivers/disk.s2.c b/common/drivers/disk.s2.c
index 96776b45..37b34732 100644
--- a/common/drivers/disk.s2.c
+++ b/common/drivers/disk.s2.c
@@ -648,15 +648,18 @@ fail:
 
         volume_index[volume_index_i++] = block;
 
+        struct volume _p;
         for (int part = 0; ; part++) {
-            struct volume *p = ext_mem_alloc(sizeof(struct volume));
-            int ret = part_get(p, block, part);
+
+            int ret = part_get(&_p, block, part);
 
             if (ret == END_OF_TABLE || ret == INVALID_TABLE)
                 break;
             if (ret == NO_PARTITION)
                 continue;
 
+            struct volume *p = ext_mem_alloc(sizeof(struct volume));
+            memcpy(p, &_p, sizeof(struct volume));
             volume_index[volume_index_i++] = p;
 
             block->max_partition++;
tab: 248 wrap: offon