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++;
