]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
boot: Restrict block IO buf size
authorJan Janssen <medhefgo@web.de>
Thu, 24 Mar 2022 09:35:30 +0000 (10:35 +0100)
committerJan Janssen <medhefgo@web.de>
Thu, 7 Apr 2022 16:45:21 +0000 (18:45 +0200)
src/boot/efi/boot.c

index e7e5a6a367a124f8cf1fbd3b565aac2a6b4de423..96e56a7839118836b3ec317d8b5a59f7b4604479 100644 (file)
@@ -2042,10 +2042,10 @@ static EFI_STATUS boot_windows_bitlocker(void) {
         for (UINTN i = 0; i < n_handles; i++) {
                 EFI_BLOCK_IO *block_io;
                 err = BS->HandleProtocol(handles[i], &BlockIoProtocol, (void **) &block_io);
-                if (EFI_ERROR(err) || block_io->Media->BlockSize < 512)
+                if (EFI_ERROR(err) || block_io->Media->BlockSize < 512 || block_io->Media->BlockSize > 4096)
                         continue;
 
-                CHAR8 buf[block_io->Media->BlockSize];
+                CHAR8 buf[4096];
                 err = block_io->ReadBlocks(block_io, block_io->Media->MediaId, 0, sizeof(buf), buf);
                 if (EFI_ERROR(err))
                         continue;